Здравствуйте, уважаемые форумчане!
При работе программы возникает ситуация, когда я должен считать путь из реестра и скопировать, удалить и выполнить какие-либо операции с файлом. Проблема в том, что у не6которых пользователей этот путь на кириллице. Если с Делфи нет никаких проблем (она спокойно прочитает, выполнит операцию), то с Лазарусом настоящая жо**... Он выводит ошибку, а при выводе пути выдаёт ???? вместо русских букв. Как это излечить?
Путь кириллицей
Модератор: Модераторы
- BadBoyAlex
- постоялец
- Сообщения: 119
- Зарегистрирован: 08.06.2010 12:42:23
- Откуда: Россия, Белгород
- Контактная информация:
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
SysToUTF8/UTF8ToSys...
В крайнем случае подобрать функции-конвертеры вручную.
В крайнем случае подобрать функции-конвертеры вручную.
- BadBoyAlex
- постоялец
- Сообщения: 119
- Зарегистрирован: 08.06.2010 12:42:23
- Откуда: Россия, Белгород
- Контактная информация:
Лекс Айрин писал(а):SysToUTF8/UTF8ToSys...
В крайнем случае подобрать функции-конвертеры вручную.
Неужели нет стандартной функции? Не хочется как-то 1000 строк кода переписывать.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
BadBoyAlex,что есть стандартная функция?
Если присутствующая как в дельфи, так и в Лазарусе, то проще использовать условную компиляцию.
А если что-то иное, то указанный функционал является для Лазаруса стандартным.
Если присутствующая как в дельфи, так и в Лазарусе, то проще использовать условную компиляцию.
А если что-то иное, то указанный функционал является для Лазаруса стандартным.
BadBoyAlex писал(а):Здравствуйте, уважаемые форумчане!
При работе программы возникает ситуация, когда я должен считать путь из реестра и скопировать, удалить и выполнить какие-либо операции с файлом. Проблема в том, что у не6которых пользователей этот путь на кириллице. Если с Делфи нет никаких проблем (она спокойно прочитает, выполнит операцию), то с Лазарусом настоящая жо**... Он выводит ошибку, а при выводе пути выдаёт ???? вместо русских букв. Как это излечить?
Все как сказано Лекс Айрин. Цепляешь LazUTF8 модуль, и его функции SysToUTF8/UTF8ToSys... используешь при конечном обращении. Проблем нет.
Даже через поключение к офису, чтобы вытащить данные из Excel, приходится вставлять эти функции, чтобы все читаемо было. Со временем привыкаешь.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
LCLProc вообще-то. И сейчас все это дело переехало действительно в LazUTF8. Плюс в секцию implementation я добавил вызов модуля LConvEncoding... но возможно это из-за моей неопытности.
а функции чтения из реестра в какой кодировке возвращают строки?
