Erm.
Ich weiss nicht genau worauf Du hinaus willst. Aber schaun wer mal:
1.) Jede Schleife lässt sich durch ein
break abbrechen.
2.) Du musst die Schleife nicht unterbrechen, wenn Du einen Status abfragen willst. Beispiel:
Du brauchst ein Formular, 2 Buttons (einmal btnStart und einmal btnStop) und ein Label (lblZahl).
In der Schleife wird eine Zahl hochgezählt und durch den btnStopClick beendet.
Delphi-Quellcode:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 =
class(TForm)
lblZahl: TLabel;
btnStop: TButton;
btnStart: TButton;
procedure btnStartClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnStopClick(Sender: TObject);
private
ButtonPressed: Boolean;
counter: integer;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
Buttonpressed := false;
counter := 0;
end;
procedure TForm3.btnStopClick(Sender: TObject);
begin
Buttonpressed := true;
end;
procedure TForm3.btnStartClick(Sender: TObject);
begin
repeat
if counter > 2147483646
then counter := 0;
counter := counter + 1;
lblZahl.Caption := IntToStr(counter);
Application.ProcessMessages;
// der hier ist wichtig
until buttonpressed;
buttonpressed := false;
end;
end.
Edit: Man sollte ein Delphi-Startag nicht mit /code beenden :-/