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

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

Как грамотно прервать работу цикла ;?


Цикл ©   (2002-05-14 10:23:00) 

Как грамотно прервать работу цикла по кнопке или по закрытию формы?
Например такого:
For i:=1 to 100000 do
Begin
{Мой оброботчик}
end;


Song   (2002-05-14 14:19:00) [1]

А.. понятно, не закроешь форму..


PVOzerski   (2002-05-14 12:28:00) [2]

>А зачем?
А иначе когда же он true станет?
Ежели автор вопроса - начинающий, дополнительное пояснение: flag - не
локальная переменная метода, в котором крутится цикл, а либо глобальная,
либо поле или property класса-владельца метода.
Кроме того, использование метода ProcessMessages может сильно замедлить
выполнение цикла, иногда это критично. Я бы как альтернативу посоветовал
вынести цикл в отдельный thread, а ProcessMessages не использовать.


Song   (2002-05-14 11:50:00) [3]

>>В OnClose формы: Flag:=true;

А зачем?


Malder   (2002-05-14 11:48:00) [4]


Var Flag:Boolean;
i:integer;
...
Flag:=false;
For i:=1 to 100000 do
Begin
Application.ProcessMessages;
if Flag then Break;
{Мой оброботчик}
end;


В OnClose формы:

Flag:=true;


Цикл   (2002-05-14 11:31:00) [5]

А пример можно ?


wicked   (2002-05-14 11:03:00) [6]

2 Song ©
гы... "на воре шапка... " :))
отнюдь... это мой стиль...


Song   (2002-05-14 10:51:00) [7]

2wicked © (14.05.02 10:46)
хех... грамотно...
Это палка в мой огород? :-)


wicked   (2002-05-14 10:46:00) [8]

хех... грамотно...
в обработчике нажатия на кнопку выставляем флажок...
в цикле делаем application.processmessages и после этого проверяем значение флажка... если установлен - break и далее по тексту...
ну и, очевидно, не забываем сбрасывать флажок при начале работы... ;)


Song   (2002-05-14 10:26:00) [9]

Break


Наверх

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