Страница 1 из 1
Format и русские буквы
Добавлено: 07.03.2017 11:32:28
Osmiy
Каждый русский символ в Format считается за два символа. Что нарушает форматирование. Можно конечно в ран-тайме пересчитывать или самому формировать пробелы. Но есть ли возможность задействовать стандартные средства?
Re: Format и русские буквы
Добавлено: 07.03.2017 12:01:49
pupsik
В смысле? Такой код:
Код: Выделить всё
const
frmt = 'Hello. Твоё имя: %s. Продолжим? %s. Сейчас: %s';
begin
Form1.Caption := Format(frmt, ['Антошка', 'Нет?', FormatDateTime('hh:nn', Now)]) ;
как бы нормально выводит. Или вы имеете ввиду что то иное?
Re: Format и русские буквы
Добавлено: 07.03.2017 12:06:37
Лекс Айрин
pupsik писал(а): Или вы имеете ввиду что то иное?
Судя по всему, речь о псевдотабличном выводе.
Re: Format и русские буквы
Добавлено: 07.03.2017 12:11:10
Osmiy
Имею ввиду, что используется равноширинный шрифт, а слова должны выводиться в одной и той же позиции (или заканчиваться в одной и той же позиции).
Но ansi-символы и русские символы обрабатываются процедурой Format по разному. Один русский символ учитывается как два, это и нарушает форматирование текста.
Добавлено спустя 20 секунд:Лекс Айрин писал(а):Судя по всему, речь о псевдотабличном выводе.
Да, типа того.
Re: Format и русские буквы
Добавлено: 07.03.2017 13:32:19
pupsik
ansi-символы
в лазаре? Он, вроде как, ютф8.
Судя по всему...
вот кто его знает по чему судить. Написано: не работает. Что делал - догадайся. Что брал - догадайся. Куда вывод - догадайся.
Зато: не работает.
Re: Format и русские буквы
Добавлено: 07.03.2017 15:02:51
Osmiy
pupsik писал(а):в лазаре? Он, вроде как, ютф8.
Я же про символы, а не кодировку строк.
Добавлено спустя 44 минуты 58 секунд:Написал доп. функции, которые добавляют слева/справа нужное число пробелов с учетом корректного количества печатаемых символов в строке.
Вопрос закрыт.
Re: Format и русские буквы
Добавлено: 07.03.2017 17:16:18
Deimos
Osmiy писал(а):Написал доп. функции, которые добавляют слева/справа нужное число пробелов с учетом корректного количества печатаемых символов в строке.
Вопрос закрыт.
Оно-то да )
Очень похоже на проблему вывода в лазрепорт UTF8 и русских символов - там это реализовано, действительно, коряво... Я как-то решил и где-то, даже писал (на этом форуме), но точно помню, что правил исходный код Лазаря (впрочем - или FPC) )))
Re: Format и русские буквы
Добавлено: 07.03.2017 17:27:06
Osmiy
А разработчики в курсе говнокода, или у них это не баг, а фича?
Re: Format и русские буквы
Добавлено: 07.03.2017 18:25:12
zub
Osmiy
А вы в ворде форматирование тоже пробелами делаете?
Re: Format и русские буквы
Добавлено: 07.03.2017 18:31:51
Osmiy
Я вордом 7 лет не пользуюсь, как универ закончил. Только причем тут ворд...
Re: Format и русские буквы
Добавлено: 07.03.2017 18:39:42
Deimos
Osmiy писал(а):А разработчики в курсе говнокода, или у них это не баг, а фича?
Ответ разработчиков был краток и емок )) Нам русский язык не нужен... Но я и не настаивал - не умею я писать багрепорты...
говнокод
Не согласен. Они, на "эмоциях" и личном рвении пишут ОПЕНСОРС продукт... Кто из нас/вас не делал "коряво", но работает, с приставкой "будет время - исправлю"? (особенно если проект БОЛЬШОЙ и должен работать ВЧЕРА) На то он и открыт - пишите исправления и вносите предложения )))
http://freepascal.ru/forum/viewtopic.php?f=5&t=9580
Re: Format и русские буквы
Добавлено: 07.03.2017 18:55:02
Osmiy
Deimos писал(а):Ответ разработчиков был краток и емок )) Нам русский язык не нужен...
Во-первых, козлы...
Во-вторых, а разве это проблема только русского языка, а не всех языков отличных от английского?
Re: Format и русские буквы
Добавлено: 07.03.2017 19:00:28
Deimos
Osmiy писал(а):Во-первых, козлы...
не... спасибо ребятам, за их работу...
Osmiy писал(а):Во-вторых, а разве это проблема только русского языка, а не всех языков отличных от английского?
На других не проверял, но думаю, что проблема актуальна для любого, не латинского, шрифта.
З.Ы. В моем случае проблема была актуальной не в винде. Только под никсами
Re: Format и русские буквы
Добавлено: 07.03.2017 19:08:43
zub
Osmiy писал(а):Только причем тут ворд...
Ворд тут действительно не причем. а вот форматирование пробелами - причем
Re: Format и русские буквы
Добавлено: 07.03.2017 20:02:52
Лекс Айрин
Deimos писал(а):Ответ разработчиков был краток и емок )) Нам русский язык не нужен...
Вообще-то, как ни печально, но так оно и есть. Впрочем, возможно, что надо все это говорить русскоязычной части программистов.