Unicode

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Zhanat
новенький
Сообщения: 21
Зарегистрирован: 06.09.2013 08:46:40

Unicode

Сообщение Zhanat »

Доброго времени суток! Как можно получить путь если в нем содержится юникодные символы? например казахский шрифт.

Код: Выделить всё

procedure TForm1.Button2Click(Sender: TObject);

begin
  memo1.lines.LoadFromFile(UTF8toSys('c:\құқұқғ\Options.ini'));
end; 
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

В зависимости от направления:
- если хотите получить строку с не-латиницей с диска (пути, названия файлов), т.е. из операционной системы, тогда надо использовать функцию SysToUTF8();
- если нужно передать название файла в систему - тогда Utf8ToSys().
Zhanat
новенький
Сообщения: 21
Зарегистрирован: 06.09.2013 08:46:40

Сообщение Zhanat »

Если использовать SysToUTF8

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
begin

     Memo1.Lines.LoadFromFile(SysToUTF8('d:\test\Т±ТЇТ±ТЇТ±.txt'));


end;
то получаю вот такую ошибку
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
ZeUsM
новенький
Сообщения: 57
Зарегистрирован: 08.11.2010 12:55:35
Откуда: Нерезиновая

Сообщение ZeUsM »

Т±ТЇТ±ТЇТ±.txt

Это файл так в системе отображается? :shock:
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

ZeUsM писал(а):Это файл так в системе отображается?

Это что-то с отображением казахского шрифта... :)

Добавлено спустя 5 минут 23 секунды:
Zhanat
А Вы могли бы кинуть картинку, как этот файл у Вас в проводнике отображается?

Попробуйте наоборот - Utf8ToSys(). Я мог и ошибиться, т.к. использую подобные функции раз в 10 лет. :)
Zhanat
новенький
Сообщения: 21
Зарегистрирован: 06.09.2013 08:46:40

Сообщение Zhanat »

нет не правильно скопировал, вот такой путь ('c:\құқұқғ\Options.ini')
Ответить