Сохранить в StringHelper?

Мне нужен StringHelper, который сохраняет строку в файл:

var
  s: string;
begin
  s := 'Some text';
  s.SaveTo('C:\MyText.txt');
end;

К сожалению, это невозможно. Можно ли добавить такой StringHelper?


person user1580348    schedule 07.12.2015    source источник
comment
Эрр, почему вы говорите, что это невозможно, а потом сразу спрашиваете, возможно ли?   -  person MartynA    schedule 07.12.2015
comment
@MartynA Понятно, что это семантическое недоразумение, и мой вопрос следует понять. Так почему ты спрашиваешь?   -  person user1580348    schedule 07.12.2015
comment
@ user1580348 Потому что мы заботимся о качестве. Мы хотим видеть хорошо написанные и четкие вопросы. Пожалуйста, найдите время, чтобы уточнить текст.   -  person David Heffernan    schedule 07.12.2015


Ответы (1)


Можно добавить такого помощника. Например:

type
  TMyStringHelper = record helper for string
    procedure SaveTo(const FileName: string);
  end;

Недостатком этого является то, что это заменит вспомогательную функцию строки, предоставляемую RTL. Если вы не используете его, это не имеет значения. Если вы используете его, то это проблема, которую нелегко решить.

Вы могли бы посмотреть на это по-другому. Вместо того, чтобы пытаться использовать вспомогательную функцию для типа string, вы можете использовать TFile.WriteAllText< /a> вместо этого.

TFile.WriteAllText(FileName, 'Some text', TEncoding.UTF8);

Очевидно, вы можете использовать другую кодировку, если хотите.

person David Heffernan    schedule 07.12.2015
comment
1+ за предложение TFile.WriteAllText - person Stefan Glienke; 07.12.2015