Top.Mail.Ru
Ответы
Аватар пользователя
6лет
Изменено
Аватар пользователя
Аватар пользователя
Программирование
+1

Как в Lazarus (версия 1.8.4) сохранить файл с кодировкой UTF-8?

Есть код сохранения значений ячеек StringGrid в текстовом файле. Открываю текстовый файл, а кириллица (русские буквы) не распознаётся. В Delphi аналогичный код прекрасно работает, в Lazarus требуется поменять кодировку. Как поменять кодировку сохраняемого файла в Lazarus?

var f:TextFile;
i,j:Integer;
begin
if SaveDialog1.Execute then
begin
AssignFile(f,SaveDialog1.FileName+'.txt');
Rewrite(f);
With StringGrid1 do
begin
Writeln(f,ColCount);
Writeln(f,RowCount);
for i:=0 to StringGrid1.ColCount - 1 do for j:=0 to StringGrid1.RowCount - 1 do writeln(f,StringGrid1.Cells[i,j]);
end;
CloseFile(f);
end;
end;

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

А нефиг юзать паскалевские файловые функции в IDL.
Есть же такой замечательный StringList, который уже инкапсулирует объект Encoding, и все пляски с бубном выполняет автоматически при вызове методов чтения/записи... а если уж надо явно задать кодировку, то достаточно скормить методу статический объект Encoding ютиэфа (ну, или свой создать, если сильно хочется).

Аватар пользователя
Высший разум
6лет

Юзай Notepad++.