Информатика. Программирование в Delphi
89
case key of
//разрешенные символы: цифры от 0 до 9 и клавиша BackSpace
//(забой) с кодом #8
'0'..'9',#8:
else
//если нажата любая клавиша кроме разрешенных,
//то в переменную key записывается #0,
//т.е. нажатая клавиша не будет отображена в поле
//редактирования
key:=#0;
end;
end;
Теперь в поле
Edit1
можно вводить только цифры или использовать за-
бой.
9. В инспекторе объектов для компонента
Edit2
создадим процедуру
Edit2KeyPress
для обработки события
OnKeyPress
(нажатие клавиши в поле
редактирования
Edit2
) (рис. 5.13).
Оформим процедуру
Edit2KeyPress
следующим образом.
//процедура выполняется при нажатии клавиши клавиатуры в
//поле редактирования, в key возвращается код нажатой кла//виши
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
//разрешенные цифры от 0 до 9 и BackSpace (Забой)
'0'..'9',#8:;
',','.':
//разрешены запятая и точка в качестве разделителей
begin
//десятичный разделитель заменяет точку или запятую
key:=DecimalSeparator;
//не позволяет вводить в число десятичный разделитель
// повторно
if pos(key,Edit2.Text)<>0 then
key:=#0
end
//остальные символы запрещены
else
//если нажата любая клавиша кроме разрешенных клавиш,
//то в переменную key записывается #0
//и нажатая клавиша не будет отображена в поле редактирования
key:=#0;
end;