Hi Juergen
das geht so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin Timer1.Enabled := true; StopLoop := false; i := 0; while not StopLoop do begin inc(i); Label1.Caption := IntToStr(i); Application.ProcessMessages; end; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin StopLoop := true; end; |
StopLoop ist eine globale Variable. Wichtig ist das "ProcessMessages", sonst hängt deine Application in der Schleife fest. Das die Stop-Variable global sein muß hast du ja schon selbst herausgefunden.
Zu while -> die Bedingung muß Wahr sein, damit die Schleife ausgeführt wird! Wenn du deine Abbruchbedingung also so definierts, das sie bei Wahr abbrechen soll muß du sie bei der Abfrage mit
not invertieren.