Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > обработка Edit1.OnKeyPress


Автор: killerbean 11.8.2006, 14:37
Проблема следующая: я обрабатываю Edit1.OnKeyPress, для работы с цифрами пишу следующее условие
Код

 if not (key in ['0'..'9']) then


А как мне обработать все английские, русские и украинские буквы?

Автор: Yanis 11.8.2006, 14:49
killerbean
А цифры везде одинаковые.

Какой вопрос такой ответ!

Автор: drkot 11.8.2006, 14:52
точно также как и цифры.

Автор: Rennigth 11.8.2006, 14:55
также
Код

if key in ['A'..'Z']  then
...


Автор: killerbean 11.8.2006, 15:04
т.е. русский алфавит будет 
Код

if key in ['А'..'Я']  then
  key := #0;


чего-то не получаеться. И надо ли описывать правила для украинского языка отдельно?

Автор: Yanis 11.8.2006, 15:10
killerbean
Я не понимаю в чём проблема то? Зачем обрабатывать все символы на свете!? Достаточно их не обрабатывать! Так как у тебя в первом топике:
Код
if not (key in ['0'..'9']) then key := #0;

Автор: killerbean 11.8.2006, 15:47
если я пишу через not то у меня, к примеру,  backspase не работает. Поэтому я хотел бы обработать  только буквы.

Автор: Yanis 11.8.2006, 15:52
killerbean
Что бы работал BACKSPACE:
Код
if not (key in ['0'..'9', #8]) then key := #0;

С остальными по аналогии...

Автор: killerbean 11.8.2006, 16:18
значит получаеться, что я могу через запятую перечислять коды любых клавиш. Спасибо, это то что надо

Автор: Yanis 11.8.2006, 16:23
killerbean
Да. Раздел Set constructors в Delphi Help. Ещё http://www.delphibasics.co.uk/RTL.asp?Name=set.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)