6.3 Визуальное программирование в среде Lazarus
____________________________________________________________________
tfile:= TStringList.Create; // создание списка строк tfile.LoadFromFile('File in Russian.txt'); str:= tfile.Text;
{$IFDEF WINDOWS}
str:= SysToUTF8(str); // преобразование в кодировку UTF-8
{$ENDIF} Memo1.Lines.Add(str); tfile.Free;
end;
Функция SysToUTF8() преобразует строку из системной кодировки (в
данном случае СР1251) в кодировку UTF-8.
Наборы строк TStringList "невидимы" для пользователя, в отличие от набора строк TMemo. Обычно с помощью TStringList производят различ-
ные операции с набором строк, а в TMemo выводят уже окончательно сформи-
рованные (например, отсортированные) строки. Некоторые операции с набором строк можно производить и непосредственно в TMemo, но, обычно, так не де-
лают. Так как, если вы будете делать какие-то операции со строками в TMemo, а
количество строк достаточно велико, то во время выполнения вашего приложе-
ния в его окне будет что-то быстро "мелькать". Разумеется, это нехорошо. Так что, операции со строками в TMemo "на виду" у пользователя является призна-
ком дурного тона!
Здесь мы создаем список строк типа TStringList, методом
LoadFromFile загружаем файл. Для этого создайте текстовый файл с именем
'File in Russian' с русским текстом в той же папке, что и ваш проект. В
примерах, содержащихся на приложенном к книге диске, такой файл имеется.
Используя свойство Text, копируем содержимое списка в одну строку. Затем,
если приложение выполняется в Windows, используя функцию SysToUTF8(),
преобразуем полученную строку в UTF-8. И только после этого добавляем в