Format и русские буквы
Модератор: Модераторы
Format и русские буквы
Каждый русский символ в Format считается за два символа. Что нарушает форматирование. Можно конечно в ран-тайме пересчитывать или самому формировать пробелы. Но есть ли возможность задействовать стандартные средства?
В смысле? Такой код:
как бы нормально выводит. Или вы имеете ввиду что то иное?
Код: Выделить всё
const
frmt = 'Hello. Твоё имя: %s. Продолжим? %s. Сейчас: %s';
begin
Form1.Caption := Format(frmt, ['Антошка', 'Нет?', FormatDateTime('hh:nn', Now)]) ;
как бы нормально выводит. Или вы имеете ввиду что то иное?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
pupsik писал(а): Или вы имеете ввиду что то иное?
Судя по всему, речь о псевдотабличном выводе.
Имею ввиду, что используется равноширинный шрифт, а слова должны выводиться в одной и той же позиции (или заканчиваться в одной и той же позиции).
Но ansi-символы и русские символы обрабатываются процедурой Format по разному. Один русский символ учитывается как два, это и нарушает форматирование текста.
Добавлено спустя 20 секунд:
Да, типа того.
Но ansi-символы и русские символы обрабатываются процедурой Format по разному. Один русский символ учитывается как два, это и нарушает форматирование текста.
Добавлено спустя 20 секунд:
Лекс Айрин писал(а):Судя по всему, речь о псевдотабличном выводе.
Да, типа того.
в лазаре? Он, вроде как, ютф8.ansi-символы
вот кто его знает по чему судить. Написано: не работает. Что делал - догадайся. Что брал - догадайся. Куда вывод - догадайся.Судя по всему...
Зато: не работает.
pupsik писал(а):в лазаре? Он, вроде как, ютф8.
Я же про символы, а не кодировку строк.
Добавлено спустя 44 минуты 58 секунд:
Написал доп. функции, которые добавляют слева/справа нужное число пробелов с учетом корректного количества печатаемых символов в строке.
Вопрос закрыт.
Osmiy писал(а):Написал доп. функции, которые добавляют слева/справа нужное число пробелов с учетом корректного количества печатаемых символов в строке.
Вопрос закрыт.
Оно-то да )
Очень похоже на проблему вывода в лазрепорт UTF8 и русских символов - там это реализовано, действительно, коряво... Я как-то решил и где-то, даже писал (на этом форуме), но точно помню, что правил исходный код Лазаря (впрочем - или FPC) )))
А разработчики в курсе говнокода, или у них это не баг, а фича?
Osmiy
А вы в ворде форматирование тоже пробелами делаете?
А вы в ворде форматирование тоже пробелами делаете?
Я вордом 7 лет не пользуюсь, как универ закончил. Только причем тут ворд...
Osmiy писал(а):А разработчики в курсе говнокода, или у них это не баг, а фича?
Ответ разработчиков был краток и емок )) Нам русский язык не нужен... Но я и не настаивал - не умею я писать багрепорты...
Не согласен. Они, на "эмоциях" и личном рвении пишут ОПЕНСОРС продукт... Кто из нас/вас не делал "коряво", но работает, с приставкой "будет время - исправлю"? (особенно если проект БОЛЬШОЙ и должен работать ВЧЕРА) На то он и открыт - пишите исправления и вносите предложения )))говнокод
http://freepascal.ru/forum/viewtopic.php?f=5&t=9580
Deimos писал(а):Ответ разработчиков был краток и емок )) Нам русский язык не нужен...
Во-первых, козлы...
Во-вторых, а разве это проблема только русского языка, а не всех языков отличных от английского?
Osmiy писал(а):Во-первых, козлы...
не... спасибо ребятам, за их работу...
Osmiy писал(а):Во-вторых, а разве это проблема только русского языка, а не всех языков отличных от английского?
На других не проверял, но думаю, что проблема актуальна для любого, не латинского, шрифта.
З.Ы. В моем случае проблема была актуальной не в винде. Только под никсами
Osmiy писал(а):Только причем тут ворд...
Ворд тут действительно не причем. а вот форматирование пробелами - причем
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Deimos писал(а):Ответ разработчиков был краток и емок )) Нам русский язык не нужен...
Вообще-то, как ни печально, но так оно и есть. Впрочем, возможно, что надо все это говорить русскоязычной части программистов.
