Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

procedure [D6, WinXP]


AzIN ©   (2004-09-02 17:38:00) 

Ув. мастера, есть в моей проге процедура proc, в ней выполняется цикл. Процедура начинает выполняться при нажатии на кнопку button1. Как остановить цикл в  процедуре например нажатием на кнопку button2?


AzIN   (2004-09-02 19:15:00) [1]

спасибо!


AlexKocharin   (2004-09-02 18:59:00) [2]


procedure TForm1.Button1Click(Sender: TObject);
begin
stop:=false;
label1.Caption:='цикл запущен';
repeat
{цикл}
application.ProcessMessages;
until stop or application.Terminated;
label1.Caption:='цикл прерван';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
stop:=true;
end;
end.


На форме помещаешь 2 кнопки TButton и метку TLabel,
обьявляешь переменную stop там, где Form1:

var
 Form1: TForm1;
 stop:boolean;


Жмешь F9 и радуешься результату.


Плохиш   (2004-09-02 18:44:00) [3]


> AzIN   (02.09.04 18:37) [5]

Там в делфи столько примеров, что можешь заизучаться


AzIN   (2004-09-02 18:37:00) [4]

Можете на примере показать. Я недавно делфи учить начал.


Суслик   (2004-09-02 17:46:00) [5]

без [1] не будет обрабатываться нажатие кнопки.
[1] надо переодически вызывать.

Хотя, все зависит от того, какой цикл - может там уже где-нить вызыватеся [1]. Тогда, конечно, еще раз его вызывать не нужно.


Суслик   (2004-09-02 17:45:00) [6]

написать обработчки нажатия для button2, в нем устанавливать флаг, переодически вызывать [1], также ререодически проверять знанчеие флага.


antonn   (2004-09-02 17:44:00) [7]

в цикл добавь переменную b:boolean(изначально false) и делай проверку:
if b then exit;
А в кнопке2 поставь b:=true;

P.S. Довольно корявое решение, но с [1] у меня не получалось...


BillyJeans   (2004-09-02 17:40:00) [8]

Application.ProcessMessages


Наверх

Титульная страница Поиск, карта сайта Написать письмо