Ограничение ввода с клавиатуры.

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Tsuyu
незнакомец
Сообщения: 8
Зарегистрирован: 24.09.2015 15:18:57

Ограничение ввода с клавиатуры.

Сообщение Tsuyu »

Подскажите, пожалуйста, как можно ограничить ввод(в Edit)с клавиатуры(KeyPress, KeyDown), не используя лист разрешенных символов?
Аватара пользователя
Pavia
постоялец
Сообщения: 290
Зарегистрирован: 07.01.2011 11:46:51

Сообщение Pavia »

Код: Выделить всё

procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9', #8, #13]) then Key:=#0;
If (Key=#8) and (Length((Sender as TEdit).text)=1)  then
   begin
   Key:=#0;
   (Sender as TEdit).text:='0';
   end;
if Key=#13 then (Sender as TEdit).OnChange(Sender);
end;
Tsuyu
незнакомец
Сообщения: 8
Зарегистрирован: 24.09.2015 15:18:57

Сообщение Tsuyu »

Спасибо большое, разобрал всё, кроме предпоследней строки.
if Key=#13 then (Sender as TEdit).OnChange(Sender);
При нажатии PauseBreak ничего не изменяется.
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

#13 — это Enter
Tsuyu
незнакомец
Сообщения: 8
Зарегистрирован: 24.09.2015 15:18:57

Сообщение Tsuyu »

Где можно посмотреть полный список клавиш?
Ответить