Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Как грамотно прервать работу цикла ?   Найти похожие ветки 

 
Цикл   (2002-05-14 10:23) [0]

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


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

Break


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

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


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

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


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

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


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

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


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


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


В OnClose формы:

Flag:=true;


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

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

А зачем?


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

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


 
Song   (2002-05-14 14:19) [9]

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



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

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
1-73175
zZet
2002-05-09 21:01
2002.05.23
Как заставить зе бат запускаться правильно?


1-73140
Юляша
2002-05-13 15:28
2002.05.23
На другом компьютере программа не работает.


1-73224
Как сделать?
2002-05-14 18:36
2002.05.23
Как сохранить из StringGrid в текстовый файл


3-73018
maxim2
2002-04-26 10:19
2002.05.23
Как DBGrid изменить цвет линий разделяющих ячейки


1-73118
Дмитрий Орехов
2002-05-13 07:49
2002.05.23
Report





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский