Убрать UTF8 напрочь, как было в 0.9.24
Модератор: Модераторы
Re: Убрать UTF8 напрочь, как было в 0.9.24
А у меня проблем с переходом на UTF-8 не было. Правда я и особо изощрённых программ не пишу, так только - по простому закинуть данные в БД и красиво их оттуда выкинуть. 
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
eevee писал(а):Вот один из примеров (мой собственный опыт) тут
Да, там имеет место быть баг. Как я понял из исходников - простоне дописано. Судя по коду - просто считается - что ты если вернул пустую строку в UTF8Key - то зачит ты сам её обработал, если не пустую - то ничего просто не делать. Хотя надо подменить символ, снятый с клавиатуры на символ, указанный тобой.
В багрепорт писал?
-
eevee
- новенький
- Сообщения: 63
- Зарегистрирован: 29.12.2009 16:52:44
- Откуда: Саратов
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
Нет, не умею 
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
Увы. После долгих опытов, неудачных попыток и множественных косяков пришел к выводу, что убрать UTF из Lazarus - все равно, что избавить свинью от щетины: визгу будет много, а все равно человеком не станет. Увы.
Выхода два - либо ругнуться и использовать в коде две волшебные функции, либо плясать с бубном вокруг TurboDelphi. Право, не знаю, что мне меньше нравится
Конечно, есть еще третий выход - перейти на C++/Java, как мне советуют уже 10 лет. Но за эти десять лет столько всякого кода на Паскале написано, что переходить будет еще тяжелее. Убиться веником.
Выхода два - либо ругнуться и использовать в коде две волшебные функции, либо плясать с бубном вокруг TurboDelphi. Право, не знаю, что мне меньше нравится
Конечно, есть еще третий выход - перейти на C++/Java, как мне советуют уже 10 лет. Но за эти десять лет столько всякого кода на Паскале написано, что переходить будет еще тяжелее. Убиться веником.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
NTFS писал(а):либо ругнуться и использовать в коде две волшебные функции
Это лучше!
- dunin
- энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
NTFS писал(а):Увы. После долгих опытов, неудачных попыток и множественных косяков пришел к выводу, что убрать UTF из Lazarus - все равно, что избавить свинью от щетины: визгу будет много, а все равно человеком не станет. Увы.
Выхода два - либо ругнуться и использовать в коде две волшебные функции, либо плясать с бубном вокруг TurboDelphi. Право, не знаю, что мне меньше нравится
Про свинью и щетину красиво и образно!
Тоже долго фтыкался-привыкал... пришел к такому решению: Лазарь и "две волшебные функции" + TurboDelphi для работы с OLE (здесь собираем dll и цепляем к программе, собранной в Lazarus).
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
Ну, без TurboDelphi вообще обойтись сложно... это как бы не основной инструмент для подхвата старых проектов. Просто хочется использовать еще и Lazarus, ибо при всех ужасных косяках у него два преимущества: исходный код и динамичное развитие.
Добавлено спустя 2 минуты 44 секунды:
Предупреждая летящие гнилые помидоры насчет "ужасных косяков", сразу отвечу цитатой из фильма: "Для Атоса это слишком много, для графа де ля Фер - слишком мало". В смысле, для серьезной разработки есть и другие инструменты, но как-то не хочется ставить монстровидные IDE для наколенных утилит.
Добавлено спустя 2 минуты 44 секунды:
Предупреждая летящие гнилые помидоры насчет "ужасных косяков", сразу отвечу цитатой из фильма: "Для Атоса это слишком много, для графа де ля Фер - слишком мало". В смысле, для серьезной разработки есть и другие инструменты, но как-то не хочется ставить монстровидные IDE для наколенных утилит.
Re: Убрать UTF8 напрочь, как было в 0.9.24
В своё время ругался по этому поводу с разработчиками. Тогда под linux работал исключительно utf8, а под windows - исключительно ANSI, хотя планы по внедрению utf8 были во всю. Очень не хотели слушать аргументы о глобальной несовместимости проектов (как между linux и win32, так и между старым и новым). Отправлял пару обходов, которые десять раз успели поменять и исправить. Но именно с этого момента о проблеме услышали, и, по крайней мере, с реимпортом интерфейса между кодировками проблемы исчезли.
Re: Убрать UTF8 напрочь, как было в 0.9.24
Звиняюсь, но таки как перевести побыстрому проект с 0.9.24 в позднее ?
Оба Лазаря в Линухе.
-dDisableWindowsUnicodeSupport не помогает при пересборе.
И везде gtk2
Локаль utf8.
Приходится из убунты в винду лазить только затем, чтобы виртуалку с мандривой запустить, где 0.9.24 установлена.
(такое извращенство)
В убунте 0.9.26-4b (они такое в репозитариях держат)
ХЕЛП в общем!
Добавлено спустя 19 минут 12 секунд:
Попробовал открыть kwrit'ом и сменить сохранить в UTF-8 - вроде открылось приемлимо.
Но как-то изгадилась обработка VK-кодов.
Оба Лазаря в Линухе.
-dDisableWindowsUnicodeSupport не помогает при пересборе.
И везде gtk2
Локаль utf8.
Приходится из убунты в винду лазить только затем, чтобы виртуалку с мандривой запустить, где 0.9.24 установлена.
(такое извращенство)
В убунте 0.9.26-4b (они такое в репозитариях держат)
ХЕЛП в общем!
Добавлено спустя 19 минут 12 секунд:
Попробовал открыть kwrit'ом и сменить сохранить в UTF-8 - вроде открылось приемлимо.
Но как-то изгадилась обработка VK-кодов.
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
Re: Убрать UTF8 напрочь, как было в 0.9.24
Проблема как уже писали в том, что FPC все еще использует Ansi, a Lazarus уже UTF-8
Вообще-то, FPC имете опцию -Fcutf8 для компиляции исходников, написанных в UTF8. Объявляете все стринги как WideString, под это дело будут подхвачены перегруженные под этот тип строковые функции FPC (а какие еще не перегружены - отписать в багрепортер), и...
- informat
- новенький
- Сообщения: 62
- Зарегистрирован: 27.10.2010 09:44:20
- Откуда: http://informat.name
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
Задам и я задачку для гуру.
Есть консольное приложение под Windows в Lazarus.
Например:
Хочется увидеть русские буквы не меняя программу.
Дополнительно хочется так настроить Lazarus, чтобы все программы выдавали русские буквы без дополнительных настроек.
Цель: настроить Lazarus так, чтобы начинающие с нуля школьники не отвлекались на дополнительные настройки.
Есть консольное приложение под Windows в Lazarus.
Например:
Код: Выделить всё
program hello;
begin
writeln('Привет!');
readln;
end.
Хочется увидеть русские буквы не меняя программу.
Дополнительно хочется так настроить Lazarus, чтобы все программы выдавали русские буквы без дополнительных настроек.
Цель: настроить Lazarus так, чтобы начинающие с нуля школьники не отвлекались на дополнительные настройки.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Re: Убрать UTF8 напрочь, как было в 0.9.24
Это не помогает?
- informat
- новенький
- Сообщения: 62
- Зарегистрирован: 27.10.2010 09:44:20
- Откуда: http://informat.name
- Контактная информация:
Re: Убрать UTF8 напрочь, как было в 0.9.24
Brainenjii писал(а):Это не помогает?
ЭТО для каждого проекта (программы) нужно делать отдельно.
А хочется так настроить, чтобы для всех проектов была кодировка СP866 по умолчанию.
Если уж Lazarus сам не способен догадаться, что для консольных приложений под Windows нужно делать так.
Откуда Lazarus знает, что по умолчанию UTF8?
Re: Убрать UTF8 напрочь, как было в 0.9.24
informat писал(а):Откуда Lazarus знает, что по умолчанию UTF8?
Исключительно потому, что по умолчанию Lazarus используется для написания окошечных приложений.
Re: Убрать UTF8 напрочь, как было в 0.9.24
informat писал(а):Откуда Lazarus знает, что по умолчанию UTF8?
Это указано в шаблоне проекта по умолчанию. Теоретически, разобравшись с пакетом Project Templates (лежит в <Lazarus>\components\projecttemplates), наверное можно добавить новый шаблон проекта "Russian Win32 Console Application", в котором по умолчанию будет использоваться CP866.
