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

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

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

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

Сообщение Vadim » 27.02.2010 16:42:18

А у меня проблем с переходом на UTF-8 не было. Правда я и особо изощрённых программ не пишу, так только - по простому закинуть данные в БД и красиво их оттуда выкинуть. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

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

Сообщение alexs » 27.02.2010 23:19:34

eevee писал(а):Вот один из примеров (мой собственный опыт) тут

Да, там имеет место быть баг. Как я понял из исходников - простоне дописано. Судя по коду - просто считается - что ты если вернул пустую строку в UTF8Key - то зачит ты сам её обработал, если не пустую - то ничего просто не делать. Хотя надо подменить символ, снятый с клавиатуры на символ, указанный тобой.
В багрепорт писал?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение eevee » 01.03.2010 10:12:36

Нет, не умею :oops:
eevee
новенький
 
Сообщения: 63
Зарегистрирован: 29.12.2009 17:52:44
Откуда: Саратов

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

Сообщение NTFS » 08.03.2010 20:38:05

Увы. После долгих опытов, неудачных попыток и множественных косяков пришел к выводу, что убрать UTF из Lazarus - все равно, что избавить свинью от щетины: визгу будет много, а все равно человеком не станет. Увы.
Выхода два - либо ругнуться и использовать в коде две волшебные функции, либо плясать с бубном вокруг TurboDelphi. Право, не знаю, что мне меньше нравится :-(

Конечно, есть еще третий выход - перейти на C++/Java, как мне советуют уже 10 лет. Но за эти десять лет столько всякого кода на Паскале написано, что переходить будет еще тяжелее. Убиться веником.
NTFS
постоялец
 
Сообщения: 388
Зарегистрирован: 05.11.2007 14:57:50
Откуда: Краснодар

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

Сообщение alexs » 08.03.2010 21:25:28

NTFS писал(а):либо ругнуться и использовать в коде две волшебные функции

Это лучше!
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение dunin » 09.03.2010 10:51:31

NTFS писал(а):Увы. После долгих опытов, неудачных попыток и множественных косяков пришел к выводу, что убрать UTF из Lazarus - все равно, что избавить свинью от щетины: визгу будет много, а все равно человеком не станет. Увы.
Выхода два - либо ругнуться и использовать в коде две волшебные функции, либо плясать с бубном вокруг TurboDelphi. Право, не знаю, что мне меньше нравится :-(

Про свинью и щетину красиво и образно! :mrgreen:
Тоже долго фтыкался-привыкал... пришел к такому решению: Лазарь и "две волшебные функции" + TurboDelphi для работы с OLE (здесь собираем dll и цепляем к программе, собранной в Lazarus).
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

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

Сообщение NTFS » 09.03.2010 19:01:07

Ну, без TurboDelphi вообще обойтись сложно... это как бы не основной инструмент для подхвата старых проектов. Просто хочется использовать еще и Lazarus, ибо при всех ужасных косяках у него два преимущества: исходный код и динамичное развитие.

Добавлено спустя 2 минуты 44 секунды:
Предупреждая летящие гнилые помидоры насчет "ужасных косяков", сразу отвечу цитатой из фильма: "Для Атоса это слишком много, для графа де ля Фер - слишком мало". В смысле, для серьезной разработки есть и другие инструменты, но как-то не хочется ставить монстровидные IDE для наколенных утилит.
NTFS
постоялец
 
Сообщения: 388
Зарегистрирован: 05.11.2007 14:57:50
Откуда: Краснодар

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

Сообщение daesher » 09.03.2010 22:22:22

В своё время ругался по этому поводу с разработчиками. Тогда под linux работал исключительно utf8, а под windows - исключительно ANSI, хотя планы по внедрению utf8 были во всю. Очень не хотели слушать аргументы о глобальной несовместимости проектов (как между linux и win32, так и между старым и новым). Отправлял пару обходов, которые десять раз успели поменять и исправить. Но именно с этого момента о проблеме услышали, и, по крайней мере, с реимпортом интерфейса между кодировками проблемы исчезли.
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14

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

Сообщение Lisolog » 08.07.2010 03:15:24

Звиняюсь, но таки как перевести побыстрому проект с 0.9.24 в позднее ?
Оба Лазаря в Линухе.
-dDisableWindowsUnicodeSupport не помогает при пересборе.
И везде gtk2
Локаль utf8.
Приходится из убунты в винду лазить только затем, чтобы виртуалку с мандривой запустить, где 0.9.24 установлена.
(такое извращенство)
В убунте 0.9.26-4b (они такое в репозитариях держат)
ХЕЛП в общем!

Добавлено спустя 19 минут 12 секунд:
Попробовал открыть kwrit'ом и сменить сохранить в UTF-8 - вроде открылось приемлимо.
Но как-то изгадилась обработка VK-кодов.
Lisolog
новенький
 
Сообщения: 39
Зарегистрирован: 13.12.2007 14:24:08
Откуда: Russia, SPb

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

Сообщение debi12345 » 08.07.2010 12:40:51

Проблема как уже писали в том, что FPC все еще использует Ansi, a Lazarus уже UTF-8

Вообще-то, FPC имете опцию -Fcutf8 для компиляции исходников, написанных в UTF8. Объявляете все стринги как WideString, под это дело будут подхвачены перегруженные под этот тип строковые функции FPC (а какие еще не перегружены - отписать в багрепортер), и...
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

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

Сообщение informat » 19.05.2011 11:22:49

Задам и я задачку для гуру.

Есть консольное приложение под Windows в Lazarus.
Например:
Код: Выделить всё
program hello;

begin
  writeln('Привет!');
  readln;
end.

Хочется увидеть русские буквы не меняя программу.
Дополнительно хочется так настроить Lazarus, чтобы все программы выдавали русские буквы без дополнительных настроек.
Цель: настроить Lazarus так, чтобы начинающие с нуля школьники не отвлекались на дополнительные настройки.
Аватара пользователя
informat
новенький
 
Сообщения: 62
Зарегистрирован: 27.10.2010 09:44:20
Откуда: http://informat.name

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

Сообщение Brainenjii » 19.05.2011 11:48:44

Это не помогает?
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение informat » 19.05.2011 12:15:14

Brainenjii писал(а):Это не помогает?


ЭТО для каждого проекта (программы) нужно делать отдельно.
А хочется так настроить, чтобы для всех проектов была кодировка СP866 по умолчанию.
Если уж Lazarus сам не способен догадаться, что для консольных приложений под Windows нужно делать так.

Откуда Lazarus знает, что по умолчанию UTF8?
Аватара пользователя
informat
новенький
 
Сообщения: 62
Зарегистрирован: 27.10.2010 09:44:20
Откуда: http://informat.name

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

Сообщение Vadim » 19.05.2011 12:21:34

informat писал(а):Откуда Lazarus знает, что по умолчанию UTF8?

Исключительно потому, что по умолчанию Lazarus используется для написания окошечных приложений. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

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

Сообщение Odyssey » 19.05.2011 14:38:13

informat писал(а):Откуда Lazarus знает, что по умолчанию UTF8?

Это указано в шаблоне проекта по умолчанию. Теоретически, разобравшись с пакетом Project Templates (лежит в <Lazarus>\components\projecttemplates), наверное можно добавить новый шаблон проекта "Russian Win32 Console Application", в котором по умолчанию будет использоваться CP866.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Пред.След.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru