Совершенно недавно (12 апреля 2000 г.) я прочел в рассылке RU.DELPHI вопрос
как остановить цикл FOR человеческими методами ....
На что ответил (привожу пример pas - файла):
|
|
unit
Unit1;
interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
k : integer;
end; var
Form1: TForm1; implementation
{$R *.DFM}
procedure
TForm1.Button1Click(Sender: TObject); var
i : longint; begin
i:=0;
k:=0;
for i:=0 to 500000 do
begin
Application.ProcessMessages; //"Волшебное
слово" из-за чего все
//работат как надо :)
if k >0 then exit;
label1.caption := inttostr(i);
end; end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
k:=1; // end;
end. | |