Una forma muy parecida a la de
marcoszorrila pero que me parece un poquito más clara:
Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9', '.', '-', Char(VK_BACK)] then
begin
{ Tratamiento normal del evento }
end
else
Key := #0;
end;
// Saludos