Вниз
Скачать: CL | DM;

procedure   Найти похожие ветки 

 
AzIN   (2004-09-02 17:38) [0]

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


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

Application.ProcessMessages


 
antonn ©   (2004-09-02 17:44) [2]

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

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


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

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


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

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

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


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

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


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


> AzIN   (02.09.04 18:37) [5]

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


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


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 и радуешься результату.


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

спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1094146266
UserUserov
2004-09-02 21:31
2004.09.19
Функции


1-1094081926
vidiv
2004-09-02 03:38
2004.09.19
Regular Expressions в Дельфи 7


3-1093323221
kva
2004-08-24 08:53
2004.09.19
InstallShield и BDE


1-1094132658
Соколов
2004-09-02 17:44
2004.09.19
Chart


3-1093012058
Koala
2004-08-20 18:27
2004.09.19
sweep interval = ???




   Наверх