var Form1: TForm1; var Mini: Integer; Stop: Boolean; implementation {$R *.DFM} procedure LanceBoucle; var i: Integer; Maxi: Integer; begin Maxi := 50000; for i := Mini to Maxi do begin if not Stop then begin Form1.Label1.Caption := IntToStr(i); Application.ProcessMessages; end else begin Mini := i; Exit; end; end; Mini := 0; Stop := True; Form1.Label1.Caption := '0'; end; procedure TForm1.Button1Click(Sender: TObject); begin Stop := not Stop; if not Stop then LanceBoucle; end; procedure TForm1.FormCreate(Sender: TObject); begin Mini := 0; Stop := True; end;
var Temps: Cardinal; begin Temps:= GetTickCount; repeat Application.ProcessMessages; until Cardinal(GetTickCount - Temps) > xxx end;