![]() |
|
|
#1
|
|||
|
|||
|
Всем доброго времени суток. Возникла у меня проблема, вернее сразу несколько. Вот какая ситуация:
Имеется TMemo, есть пользователь, который вводит текст кириллицей (кодировка в мемо как мне известно анси). Необходимо сохранить введенный текст в файл в кодировке UTF-8. Вот в принципе и все. Я отыскал функцию StringToWideChar, которая переводит обычные строки в юникод, однако, применять эту функцию можно только для MemoEditor.Lines.Text, если просто MemoEditor.Lines, то ругается на несоответствие типов. Код:
procedure TForm1.SaveMIClick(Sender: TObject);
var WideChars: array [0..32768] of WideChar;
begin
if fName <> '' then begin
StringToWideChar ( MemoEditor.Lines.Text, WideChars, 32769 );
MemoEditor.Lines.Text.SaveToFile ( fName );
NotSaved := False;
Exit;
end;
if SaveDialog1.Execute then begin
SetName ( SaveDialog1.FileName );
MemoEditor.Lines.SaveToFile( fName );
NotSaved := False;
end;
end;Вот что-то вроде этого. Но на строке Код:
MemoEditor.Lines.Text.SaveToFile ( fName ); Подскажите как можно исправить это недоразумение, или как лучше реализовать сохранение текста в юникоде буду благодарен. |