![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как оставить циклическую процедуру?
JIuraradg © (2004-11-16 19:35:00)Есть некотороая процедура, которая приобретает циклический вид (при невыполнении определенного условия для выхода) с помощью оператора goto. Как можно прервать ее выполнение щелкнув на кнопку?
Германн (2004-11-17 04:15:00) [1]Первое и самое главное - в процедуре должен быть вызов процедуры Application.ProcessMessages. Где и как ее расположить -решать тебе. Если, конечно, твоя процедура выполняется в основном потоке.
GEN++ (2004-11-17 01:29:00) [2]Условием окончания цикла должно быть либо выполнение условий
естественного окончания либо установка done в true
см [1]. А уж как реализован цикл: если
if ... then goto - то goto за пределы цикла,
если do while или repeat until - то с помощью break
GuAV (2004-11-17 01:17:00) [3]Riant (17.11.04 1:03) [2]
break
нет. цикл реализован
> с помощью оператора goto
.
поэтому правильный ответ - другим goto.
Riant (2004-11-17 01:03:00) [4]break
novice_man (2004-11-16 19:46:00) [5]var
Form1: TForm1;
done: boolean;
procedure TForm1.........
begin
done := true;
while done do begin
if <......> then done := false;
Application.ProcessMessages
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
done := false;
end;
Можно так.