Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
Цикл   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-73376
Михалыч
2002-04-10 16:40
2002.05.23
Для умных


1-73107
Демон
2002-05-12 02:36
2002.05.23
Про реестр


1-73266
Sniffer
2002-05-10 01:04
2002.05.23
Классы


1-73179
-Jack-
2002-05-10 16:51
2002.05.23
Правка файла в HEX


1-73319
Startwar
2002-05-12 00:53
2002.05.23
Проблема с MDI формами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский