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

Подскажите, пожалуйста, как можно ограничить ввод(в Edit)с клавиатуры(KeyPress, KeyDown), не используя лист разрешенных символов?
форум
http://stimul.freepascal.ru/forum/
http://stimul.freepascal.ru/forum/viewtopic.php?f=23&t=10527
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;