Страница 1 из 1

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

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

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

СообщениеДобавлено: 24.09.2015 17:42:34
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;

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

СообщениеДобавлено: 25.09.2015 14:40:56
Tsuyu
Спасибо большое, разобрал всё, кроме предпоследней строки.
if Key=#13 then (Sender as TEdit).OnChange(Sender);
При нажатии PauseBreak ничего не изменяется.

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

СообщениеДобавлено: 25.09.2015 14:45:10
Дож
#13 — это Enter

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

СообщениеДобавлено: 25.09.2015 17:46:40
Tsuyu
Где можно посмотреть полный список клавиш?

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

СообщениеДобавлено: 25.09.2015 18:16:24
Дож