MaskEdit+кирилица
Модератор: Модераторы
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
MaskEdit+кирилица
Можно сабж как-то подружить? Нужно, чтобы могли ввести только 2 символа кирилицы, как реализовать?
Тогда уж к OnUTF8KeyPress
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
GAMER писал(а):Проверять количество через Length(Edit1.Text) или отдельную переменную использовать
При работе с Lazarus необходимо использовать UTF8Length (да и вобще старатся использовать UTF8XXXX функции)
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
(да и вобще старатся использовать UTF8XXXX функции)
Привык к "простому" Length после 8 лет в Delphi
Nik
Length - это FPC. Вы туда письмо напишите, чтобы они там стройными рядами и так далее...
Length - это FPC. Вы туда письмо напишите, чтобы они там стройными рядами и так далее...
А я бы Length вообще не трогал. Есть UTF8Length и тому подобное.
Вот кажется мне, что будет неимоверная ж...а не сравнимая с текущими проблемами (у некоторых кодеров) т.к. кода написано неимоверно много и зачастую при написании софта пофиг на тип используемой кодировки!
Вот кажется мне, что будет неимоверная ж...а не сравнимая с текущими проблемами (у некоторых кодеров) т.к. кода написано неимоверно много и зачастую при написании софта пофиг на тип используемой кодировки!
Mr.Smart писал(а):пофиг на тип используемой кодировки!
Вот-вот! Я пользуюсь Length там, где важно знать количество байтов, а UTF8Length, там, где кличество символов.
О великий компилятор! Пожалуста! Оставь все как есть!
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
Вот что ответили разработчики по поводу UTF8 для сабжа.
"This is not a bug, it is done by design."
TMaskEdit currently supports only ASCII input.
All non-ASCII input is denied and when setting the Text property (or pasting into the control), all non-ASCII characters are replaced with a question mark.
A non-ASCII characer (UTF8) can be up to 3 (or even more?) bytes/chars long, which will screw up internal calculations on the length of the mask, the position of mask-chars, cursor position and wether or not a char can be inserted.
(See my design comments in maskedit.pp)
An UTF8 version of TMaskEdit will require an almost complete re-design of the internal workings.
Given the low interest in this component (my own experience when I rewrote major parts of it), I guess that not so many people will contribute to it.
It can be done of course, so feel free to create (or derive from TMaskEdit) a TMaskEditUTF8 or make the current implementation work with UTF8 chars.
