Man könnte auch ein UpDown nehmen, der Wertebereich von SmallInt sollte hier reichen.
Im assoziierten Edit-OnChange prüft man mit TryStrToInt ob die Eingabe im Werte-Bereich ist und aktualisiert UpDown.Position.
Die Live-Anzeige wird nur im UpDown.OnChanching ausgelöst.
Delphi-Quellcode:
procedure TForm1.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
Label1.Caption := IntToStr(UpDown1.Position);
end;
procedure TForm1.Edit1Change(Sender: TObject);
var
i : Integer;
begin
if TryStrToInt((Sender as TEdit).Text, i) then
begin
if (i >= UpDown1.Min) and (i <= UpDown1.Max) then
UpDown1.Position := i;
end;
end;
Wichtig ist in der Combo die Unabhängigkeit der Ereignisse, wobei die Abhängigkeit der unabhängigen Komponenten abhängig von der Anwendung, unschön ist, ganz unabhängig vom Nutzen der Methode.
€: Oder man leitet vom SpinEdit ab und publiziert ein OnTextChange-Ereignis bzw. bastelt sich da ein Live-Update von Value rein, dann hat man wieder alles in einer Hand.
PS: Ich glaube der TS muss die ganzen Antworten übersetzen, weshalb wohl ein Teil der Antworten einfach untergeht.