Убрать UTF8 напрочь, как было в 0.9.24

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

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

NTFS
постоялец
Сообщения: 388
Зарегистрирован: 05.11.2007 13:57:50
Откуда: Краснодар
Контактная информация:

Убрать UTF8 напрочь, как было в 0.9.24

Сообщение NTFS »

День добрый.

Набирал большое сообщение, а оно стерлось...

Кратко суть: мне нужно как-то убрать UTF8, чтобы LCL был на Ansi, как было в 0.9.24. Совсем. Я не пишу GUI под LInux, а под Windows крайне неудобно утыкивать код функциями AnsiToUTF8/UTF8ToAnsi.

Возможно ли это сделать простым способом?

Если нет, похоже, придется мне либо сидеть на старых версиях Lazarus, либо использовать только TurboDelphi.

Спасибо.
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение Alexx2000 »

Можно попробовать пересобрать LCL с опцией

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

-dDisableWindowsUnicodeSupport

Тогда по идее все должно быть как раньше.
NTFS
постоялец
Сообщения: 388
Зарегистрирован: 05.11.2007 13:57:50
Откуда: Краснодар
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение NTFS »

Доктор, не помогло.

Я делал так: открываю файл Makefile.fpc в корне, добавляю:

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

[compiler]
options=-dDisableWindowsUnicodeSupport


после чего делаю

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

make clean all


Все по-прежнему в UTF8. Меня это убивает :-(
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение dunin »

А вот эта штуковина для чего? (сам не пробовал)
Изображение
NTFS
постоялец
Сообщения: 388
Зарегистрирован: 05.11.2007 13:57:50
Откуда: Краснодар
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение NTFS »

Подозреваю, что это включает по умолчанию режим ansi строк, а обычно в паскале строки shortstring (string[255]). Т.е., аналогично директиве {$h+}, что я и так использую.

Подожду до конца выходных, если не решится - придется переводить код на TurboDelphi.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение alexs »

NTFS
после того ка изменил makefile.fpс надо перегенерить makefile. Утилита make не использует makefile.fpс.
попробуй дерективу вставить в idemake.cfg, или в IDE в окно "Параметры сборки IDE", в строку "Параметры"
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение Alexx2000 »

Только что попробовал пересобрать с вышеуказанной опцией - UTF-8 отключилась. Пересборку делал из самой IDE, опцию указывал в окно "Параметры сборки Lazarus", в строку "Параметры".
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение ViTality »

но я так понимаю стороние компоненты тут уже не попользуешь? к примеру тотже FBDataSet, RxLib?
eevee
новенький
Сообщения: 63
Зарегистрирован: 29.12.2009 16:52:44
Откуда: Саратов
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение eevee »

UTF-8 можно выключить?!!! Побежал убивать долбанный UTF-8 в Лазаре
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение alexs »

eevee
Когда всё прогрессивное человечество идёт вперёд, к единообразию кодировок в виде UTF8, некоторые несознательные товарищи тянут весь прогрес на порочный путь развития...
NTFS
постоялец
Сообщения: 388
Зарегистрирован: 05.11.2007 13:57:50
Откуда: Краснодар
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение NTFS »

Спасибо всем, проблема решена полностью и однозначно.

Я сделал так:

В файле lcl\interfaces'win32\win32defines.inc перед первым вхождением

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

{$IFNDEF DisableWindowsUnicodeSupport}


вписал строку:

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

{$DEFINE DisableWindowsUnicodeSupport}


после чего в корне Lazarus выполнил

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

make clean all


После этого UTF8 исчез, как дурной сон :-)

Еще раз всем спасибо.
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение ViTality »

а мне ктонибудь ответит? NTFS, alexs как обстоят дела со стороними компонентами?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение alexs »

В FBDataSet-е вроде ничего криминального на этот счёт нет, разве что в визуальном редакторе может быть - там настроки сохраняются.
А вот за RX ничего не обещаю. Код очень большой - вполне может быть и есть специфика UTF8. Особенно в функциях работы с вызовами ОС. Точно есть в rxFileUtil.
Моё мнение - не надо всё это делать. Луше сразу писаь правильно - а не как удобно. Потом может очень сильно аукнуться.
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение ViTality »

alexs писал(а):Моё мнение - не надо всё это делать. Луше сразу писаь правильно - а не как удобно. Потом может очень сильно аукнуться.

В случае нового проекта я с вами согласен. Но вот у меня имеется старый проект(пресловутая база данных по студентам) написаный еще на 0.9.24(firebird+FBDataSet+RX). И недавно ко мне обратились за его доработкой(добавить пару полей там сям, пару новых отчетов), а я уже и забыл про ее существование. И для этого мне пришлось примерно-ориентировочно по датам моих постов на форуме откатывать fpc+lazarus+fbdataset+rx на старые версии.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Re: Убрать UTF8 напрочь, как было в 0.9.24

Сообщение alexs »

ну для отображения данных достаточно было указать кодировку при подключении UTF8 - всё будет нормально.
Ответить