![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
прерывание цикла [D5]
eraser © (2002-01-15 14:38:00)как мне лучше из основной программы прервать непрерывный цикл по кнопке, а то даже форму не закрыть.
Polevi (2002-01-15 17:59:00) [1]while(SomeValue=false;SomeValue;Application.ProcessMessages)
{
}
Удобно, не так ли?
Anatoly Podgoretsky (2002-01-15 17:46:00) [2]eraser (15.01.02 16:07
Вот про это и спрашиваю. Покажи код цикла и код выхода.
Digitman (2002-01-15 17:16:00) [3]Н-да, это уже чистой воды Паскаль ...
DELPHIMUN (2002-01-15 16:37:00) [4]Цикл с условием.
f0rm (2002-01-15 16:30:00) [5]Break друзья мои
Builder (2002-01-15 16:26:00) [6]Совет с глобальной переменной правильный. Для этого можно так же использовать SpeedButton.Down - и не нужно глобальной переменной :)
eraser (2002-01-15 16:07:00) [7]в процессе работы мне и не надо выходить а вот как только нажму кнопочку так и надобно
Anatoly Podgoretsky (2002-01-15 16:03:00) [8]eraser (15.01.02 14:47)
А может ты из цикла не выходишь?
Vitaly (2002-01-15 14:56:00) [9]т.е., например, так:
var endLoop: boolean;
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled := false; // чтобы не вызывать
endLoop := false;
caption := "вошли в цикл";
while not endLoop do
application.ProcessMessages;
caption := "вышли из цикла";
button1.Enabled := true; // теперь можно
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
endLoop := true;
end;
Slava (2002-01-15 14:50:00) [10]В цикле проверяй какую-нибудь глобальную переменную, а
при нажатии на кнопку просто меняй её значение
eraser (2002-01-15 14:47:00) [11]там уже такое есть кнопка X нажимается но цикл продолжается и форма не закрывается
MBo (2002-01-15 14:45:00) [12]вставь в цикл
Application.ProcessMessages;