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

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

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

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

Сообщение Tsuyu » 24.09.2015 16:59:54

Подскажите, пожалуйста, как можно ограничить ввод(в Edit)с клавиатуры(KeyPress, KeyDown), не используя лист разрешенных символов?
Tsuyu
незнакомец
 
Сообщения: 8
Зарегистрирован: 24.09.2015 16:18:57

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

Сообщение Pavia » 24.09.2015 17:42:34

Код: Выделить всё
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;
Аватара пользователя
Pavia
постоялец
 
Сообщения: 290
Зарегистрирован: 07.01.2011 12:46:51

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

Сообщение Tsuyu » 25.09.2015 14:40:56

Спасибо большое, разобрал всё, кроме предпоследней строки.
if Key=#13 then (Sender as TEdit).OnChange(Sender);
При нажатии PauseBreak ничего не изменяется.
Tsuyu
незнакомец
 
Сообщения: 8
Зарегистрирован: 24.09.2015 16:18:57

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

Сообщение Дож » 25.09.2015 14:45:10

#13 — это Enter
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

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

Сообщение Tsuyu » 25.09.2015 17:46:40

Где можно посмотреть полный список клавиш?
Tsuyu
незнакомец
 
Сообщения: 8
Зарегистрирован: 24.09.2015 16:18:57



Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru