du hättest das gaze erst noch zu einem Integer umformen müssen und vorher natürlich noch abfragen müssen, ob Buchstaben eingegeben wurden. Hier mal der Fertige Quellcode für die Stunden.
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (not (Key in ['0'..'9',#8])) or
((Length(Edit1.Text) = 2) and (Key <> #8)) or
((Length(Edit1.Text) = 1) and ((Edit1.Text[1] = '2')
and (not(Key in ['0'..'3',#8])))) then
begin
ShowMessage('Bla');
end;
end;
Wie du siehst habe ich das On KeyPress Ereignis benutzt.
Es werden jetzt nur noch Zahlen von 1 bis 23 zugelassen.
#8 steht übrigens für die backspace Taste.
Was du nach einer falschen eingabe machst ist dir überlassen (begin ... end Teil)
Gruß Lars