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

Вниз

Проверка вводимых символов   Найти похожие ветки 

 
DelphiNew ©   (2003-09-01 14:43) [0]

Помогите кто чем сможет. Требуется проверка вводимых символов в TEdit, точнее нужно чтобы вводились только цифры, а если вводятся другие символы выдавалось сообщение. Проверка у меня происходит так:
if not (key < "0") or (Key > "9") then key:=0;
как сделать чтобы вместо key:=0 выводилось сообщение об ошибке?


 
DelphiNew ©   (2003-09-01 14:45) [1]

Я пробовал и конструкцию
try.....
except
.......
и простой MessageDlg но они не проходят


 
[lamer]Barmaglot ©   (2003-09-01 14:46) [2]

Зачем проверка на ключи, когда есть стили..
ES_NUMBER?


 
ZrenBy ©   (2003-09-01 14:46) [3]

then begin
Key := 0;

1. raise
2. MessageBox

end;


 
Skier ©   (2003-09-01 14:47) [4]

if not (key in ["0".."9"]) then begin
ShowMessage("Нет слов !")
end; //if


 
DelphiNew ©   (2003-09-01 14:54) [5]

2 [lamer]Barmaglot
Можешь привести пример как это сделать?

2Skier
В этом случае если число больше 9 выдаётся ошибка


 
Е-Моё имя ©   (2003-09-01 14:56) [6]

if not (key in ["0".."9"]) then begin
ShowMessage("Нет цыфр !")
end; //if


 
DelphiNew ©   (2003-09-01 14:56) [7]

2 ZrenBy
if ((key < "0") or (Key > "9") ) then
raise EZeroDivide.Create("Что-то");
Так это будет выглядеть???


 
Skier ©   (2003-09-01 14:58) [8]

>DelphiNew © (01.09.03 14:54)
Интересно как же ты проверяешь ?


> Можешь привести пример как это сделать?


TNumberEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Style := Style or ES_NUMBER;
end;


 
DelphiNew ©   (2003-09-01 15:06) [9]

>Интересно как же ты проверяешь ?
Просто так я уже пробовал

>TNumberEdit.CreateParams(var Params: TCreateParams);
>begin
>inherited CreateParams(Params);
>Style := Style or ES_NUMBER;
>end;
Всё равно не понимаю как это использовать


 
Skier ©   (2003-09-01 15:07) [10]


> Всё равно не понимаю как это использовать

"О, брат, это жулики !" (C) Карлсон


 
[lamer]Barmaglot ©   (2003-09-01 15:08) [11]

Может так будет понятнее...


procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
i:=GetWindowLong(Edit1.handle, GWL_STYLE);
SetWindowLong(Edit1.handle, GWL_STYLE, i or ES_NUMBER);
end;


 
DelphiNew ©   (2003-09-01 16:14) [12]

Всё получилось спасибо!!!
Я не жулик я только учусь


 
rom ©   (2003-09-01 16:45) [13]

Можешь попробовать такой вариант.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:Char);
begin
case Key of
"0".."9",#8: ; //можно ввести только цифры и BackSpace
else Key:=Chr(0);
end
end;

Тогда кроме цифр просто ничего нельзя будет ввести.



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
14-33800
uw
2003-08-25 12:58
2003.09.11
Английский язык - самый трудный


1-33634
lord
2003-08-30 22:36
2003.09.11
а что рекурсия в потоке не работает ?


3-33429
lex7
2003-08-19 14:29
2003.09.11
Как выделить год в дате?


14-33737
Мазут Береговой
2003-08-23 11:18
2003.09.11
***


3-33519
BillyJeans
2003-08-19 15:36
2003.09.11
Файлы _QSQL153.DBF, как с ними бороться?