![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
бесконечный цикл [D5, Win95/98]
Yasha © (2002-09-28 15:18:00)как сделать бесконечный цикл, который прерывался бы, например нажатием TButton
evgeg (2002-09-28 15:28:00) [1]> книпки.
кнопки.
evgeg (2002-09-28 15:27:00) [2]Вызывать в теле цикла Application.ProcessMessages и проверять флажок, который устанавливается по нажатию книпки.
procedure TForm1.Button1Click(Sender: TObject);
var i, k: integer;
begin
FBreak := false;
while (true) do
begin
Application.ProcessMessages;
if FBreak then
break;
if ProgressBar1.Position = ProgressBar1.Max then
ProgressBar1.Position := ProgressBar1.Min;
ProgressBar1.Position := ProgressBar1.Position + 1;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
FBreak := true;
end;
Внук (2002-09-28 15:22:00) [3]var flag:boolean
...
flag:=false;
...
while not flag do
begin
Appication.ProcessMessages;
end;
...
procedure TForm1.MyCoolButtonClick(...);
begin
flag:=false;
end;
P.S. А чем цикл выборки сообщений не вечный, тоже прерывается нажатием TButton, если по этому нажатию послать WM_QUIT :))