Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8,'0'..'9',DecimalSeparator,'+','-']) then key:=#0;
end;
El 8 es el tabulador, ademas del 0 al 9 tienes el separador decimal y las teclas + y - como válidas, no tienes más que quitar las que no desees contemplar.
Un Saludo.