скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Прерывание цикла 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.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook