Hallo,
auch wenn es jetzt "funktioniert" ist es dennoch etwas ungeschickt: Die Zuweisung an Edt_.Text triggert das gerade bearbeitete Ereignis erneut. Ich würde die ungültigen Zeichen beim Ereignis OnKeyPress() abfangen:
Delphi-Quellcode:
procedure TForm1.Edt_KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [' ', '.', '-']) then
key := #0;
end;
Grüße vom marabu