Прерывание цикла FOR
|
Hа pаботе пpопал пpогpаммеp. День нету, два. Hа звонки не отвечает. Hу pешили пpовеpить что да как. Пpишли к нему домой, а там в холодной ванне сидит лысый пpогpамист с полупустой бутылкой шампуня в pуке. Отняли у него бутылку и читают инстpукцию:
1. Hанести на влажные волосы
2. Hамылить
3. Подождать
4. Смыть
5._Повтоpить_
|
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.
|
|