Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Что за глюк???   Найти похожие ветки 

 
Iehbr ©   (2006-06-06 19:47) [0]

Ламерский вопрос. Ограничиваю в Edit"e ввод только цифровыми значениями. В обработчике Edit1.OnKeyDown пишу следующее
if not Key in [48..57,8] then key:=0;- не работает, печатаю что хочу, как и раньше То бишь и буквы и цифры, хоть кракозябры китайские, все пропускает.

Попробовал так:
if key<48 then if key <> 8 then key :=0 else
if key > 57 then key :=0;


И даже так:
if key <48 then if Key <> 8 then key:=0;
if key > 57 then key :=0;

Хотя разницы никакой...

Никакого эффекта. Сморел пошагово, к примеру приходит символ с кодом 72, проходит мимо проверки if key>57... как ни в чем не бывало и двигает дальше. У меня чё, клавиатура в "god mode" работает? :-)
Где я стормозил? HELP.


 
Ega23 ©   (2006-06-06 19:50) [1]

procedure TForm1.Edit1KeyPress(Sender: TObject;
 var Key: Char);
begin
 if not (Key in ["0".."9", #8]) then Key:=#0;
end;


 
Ega23 ©   (2006-06-06 19:51) [2]

Но это не полностью спасёт. Например, текст можно из буффера обмена вставить...


 
Iehbr ©   (2006-06-06 19:57) [3]

Это понятно. А почему в OnKeyDown ни один из выше приведенных вариантов не работает? Не знаете?


 
Iehbr ©   (2006-06-06 20:00) [4]

Хотелось бы обрабатывать именно в OnKeyDown, т.к. он дает больше возможностей, к примеру обрабатывать те-же  Ctrl+Ins / Ctrl+V


 
Loginov Dmitry ©   (2006-06-06 20:23) [5]

Iehbr ©   (06.06.06 20:00) [4]
Хотелось бы обрабатывать именно в OnKeyDown, т.к. он дает больше возможностей, к примеру обрабатывать те-же  Ctrl+Ins / Ctrl+V


Выполняй проверку в OnChange()



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
15-1148970705
ёрш
2006-05-30 10:31
2006.06.25
Кодировка


3-1146119582
vishnia
2006-04-27 10:33
2006.06.25
Использование метода TADOTable.Seek


2-1149242511
Leito
2006-06-02 14:01
2006.06.25
Форматирование строк по заданному формату


6-1139813826
Pavlusha00
2006-02-13 09:57
2006.06.25
БД Через Proxy


1-1147948811
BeckLee
2006-05-18 14:40
2006.06.25
Не возвращается фокус