Das könnte man im Keypress-Event des Edits machen, zB mit:
Delphi-Quellcode:
if Not(Key in ['0'..'9'] then
abort;
Dann hast du aber immer noch das Copy&Paste Problem. Deswegen mein Hinweis auf TryStrToInt und StrToIntDef. TryStrToInt geibt false zurück, falls ein Wert nicht umgewandelt werden konnte. StrToIntDef hingegen gibt einen Vorgabewert zurück, falls die Umwandlung fehlschlägt.
//Wegen deinem Edit:
Die Funktion ist etwas umständlich, da sie den übergegebenen Wert zweimal per StrToIntDef in einen String umwandelt. Bei der ersten Umwandlung gibts beim Fehlschlag eine 0 beim zweiten eine 1. Durch einen Vergleich dieser beiden Werte ergibt sich der Rückgabewert der Funktion. Schöner wäre
imho:
Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
var inhalt: integer;
begin
if TryStrToInt(Edit1.text, inhalt) then
Timer1.Interval := inhalt
else
showMessage('Bitte geben Sie eine gültige Ganzzahl ein!');
end;