Du musst zuvor prüfen, ob der Wert nicht leer ist. Wenn du den markierst und etwas anderes eingibst, wird der Inhalt zunächst gelöscht, was bereits das OnChange-Ereignis auslöst.
So klappt's auch in der
IDE / im Debugger:
Delphi-Quellcode:
procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
if SpinEdit2.Text <> '' then
begin
try
radius := SpinEdit2.Value;
except
radius := 0;
ShowMessage('ungültiger Wert');
end;
end;
end;
Dabei kannst du dir dann auch den try/except-block sparen.
Gruß + guten Rutsch
Danke ersmal für die Hilfe!
Klappt wunderbar!
Jetz hätt ich nur noch des Prob, dass ich n Max und n Min gern hätt!
Sieht bei mir im mom so aus:
Delphi-Quellcode:
procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
if SpinEdit2.Text <> '' then
begin
try
radius := SpinEdit2.Value;
except
radius := 0;
ShowMessage('ungültiger Wert');
end;
end;
AMax := 400;
AMin := 1;
if SpinEdit2.Value > AMax then
begin
AMax :=SpinEdit2.Value;
SpinEdit2.Text := '400';
end;
if SpinEdit2.Value < AMin then
begin
AMin :=SpinEdit2.Value;
SpinEdit2.Text := '1';
end;
end;
AMax und AMin sin Integer
Vielleicht könnt ihr mir da auch nochmal helfen!
gruß
approx