Hallo Nailor,
hier ein Beispiel, das Dein Problem m.E.
löst.
1. KeyPreview für das Formular auf true stellen
2. das Ereignis OnKeyPress auswerten
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then key:= #0
else if not (key in [#8, #46, #48 .. #57]) then key:= #0;
end;
RETURN (#13) wird über die Zuweisung key:= #0 unterdrückt.
Es werden nur die Zeichen
Backspace, Punkt und die Ziffern 0...9 durchgelassen.
Mit einer anderen Zuweisung als #0 kann man Zeichen auf ein
anderes umbiegen.
Statt einer Zeichenzuweisung kann man auch eine beliebige
Funktion/Prozedur aufrufen.
if key=#13 then TuWas;
Wird das gesendete Zeichen nicht gebraucht,
muss zusätzlich wieder die Zuweisung auf #0 erfolgen.
Delphi-Quellcode:
if key=#13 then
begin
TuWas;
key:= #0;
end;
Ich hoffe, das hilft Dir weiter.
Werner