Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизЧто за глюк??? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c