Deine Frage/Herangehensweise erinnert etwas an lineare Programmabläufe wie man sie unter Pascal realisiert hat.
Hier sollte man dann wohl eher ereignisorientiert arbeiten:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| TForm1.Button1Click(Sender: TObject); begin if Zaehler <= 5 then begin Inc(Zaehler); Edit1.Text := IntToStr(Zaehler); end; end; |
Falls das nur ein Beispiel ist und Teil von etwas komplexeren gibts die Möglichkeit das ganze in einen Thread auszulagern der über Suspend/Resume gesteuert wird.
Als dritte (weniger schöne) Möglichkeit würde mir noch das einfallen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var Weitermachen: Boolean; ... TForm1.Button1Click(Sender: TObject); begin Weitermachen := True; end; ... begin for i := 1 to 5 do begin Inc(Zaehler); Edit1.Text := IntToStr(Zaehler); Weitermachen := False; repeat Application.ProcessMessages; Sleep(0); until Weitermachen = True; end; end; |
MfG,
Tryer