Путь кириллицей

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

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

Путь кириллицей

Сообщение BadBoyAlex » 12.08.2014 10:58:19

Здравствуйте, уважаемые форумчане!
При работе программы возникает ситуация, когда я должен считать путь из реестра и скопировать, удалить и выполнить какие-либо операции с файлом. Проблема в том, что у не6которых пользователей этот путь на кириллице. Если с Делфи нет никаких проблем (она спокойно прочитает, выполнит операцию), то с Лазарусом настоящая жо**... Он выводит ошибку, а при выводе пути выдаёт ???? вместо русских букв. Как это излечить?
Аватара пользователя
BadBoyAlex
постоялец
 
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород

Re: Путь кириллицей

Сообщение Лекс Айрин » 12.08.2014 11:11:39

SysToUTF8/UTF8ToSys...
В крайнем случае подобрать функции-конвертеры вручную.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Путь кириллицей

Сообщение BadBoyAlex » 12.08.2014 11:14:10

Лекс Айрин писал(а):SysToUTF8/UTF8ToSys...
В крайнем случае подобрать функции-конвертеры вручную.

Неужели нет стандартной функции? Не хочется как-то 1000 строк кода переписывать.
Аватара пользователя
BadBoyAlex
постоялец
 
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород

Re: Путь кириллицей

Сообщение Лекс Айрин » 12.08.2014 11:20:44

BadBoyAlex,что есть стандартная функция?
Если присутствующая как в дельфи, так и в Лазарусе, то проще использовать условную компиляцию.

А если что-то иное, то указанный функционал является для Лазаруса стандартным.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Путь кириллицей

Сообщение Sharfik » 12.08.2014 12:09:34

BadBoyAlex писал(а):Здравствуйте, уважаемые форумчане!
При работе программы возникает ситуация, когда я должен считать путь из реестра и скопировать, удалить и выполнить какие-либо операции с файлом. Проблема в том, что у не6которых пользователей этот путь на кириллице. Если с Делфи нет никаких проблем (она спокойно прочитает, выполнит операцию), то с Лазарусом настоящая жо**... Он выводит ошибку, а при выводе пути выдаёт ???? вместо русских букв. Как это излечить?

Все как сказано Лекс Айрин. Цепляешь LazUTF8 модуль, и его функции SysToUTF8/UTF8ToSys... используешь при конечном обращении. Проблем нет.
Даже через поключение к офису, чтобы вытащить данные из Excel, приходится вставлять эти функции, чтобы все читаемо было. Со временем привыкаешь.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 809
Зарегистрирован: 20.07.2013 01:04:30

Re: Путь кириллицей

Сообщение dunin » 12.08.2014 15:44:52

Sharfik писал(а):...Цепляешь LazUTF8 модуль, и его функции SysToUTF8/UTF8ToSys...

Они жеж завсегда в FileUtil были. Или в последних сборках переехали?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Путь кириллицей

Сообщение Лекс Айрин » 12.08.2014 16:33:58

LCLProc вообще-то. И сейчас все это дело переехало действительно в LazUTF8. Плюс в секцию implementation я добавил вызов модуля LConvEncoding... но возможно это из-за моей неопытности.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Путь кириллицей

Сообщение hinst » 12.08.2014 20:27:16

а функции чтения из реестра в какой кодировке возвращают строки?
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 221

Рейтинг@Mail.ru
cron