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

Вниз

Прерывание выполнения цикла   Найти похожие ветки 

 
angel2000   (2003-10-22 11:06) [0]

Есть процедура, которая работает в цикле
кнопка 1 вызывет данную процедуру и запускает
данный цикл
Так вот в чем вопрос - как сделать так, чтобы при
нажатии кнопки 1 я смог останавливать данный цикл и вообще как
это можно реализовать??????


 
Anatoly Podgoretsky   (2003-10-22 11:11) [1]

Что значит останавливать цикл, что должно при остановке делаться. И какие конретные проблемы испытываешь?


 
TUser   (2003-10-22 11:14) [2]

procedure THread1.Execute
begin
for ... do ...
end

procedure Button1Click
begin
Thread1.Terminate;
end;


 
kavlad   (2003-10-22 11:16) [3]

Видимо, цикл должен выполняться в отдельном потоке, а нажатие на кнопка 1 должно стартовать/останавливать этот поток. Смотри help и примеры по классу TThread. Ничего сложного там нет.


 
KSergey   (2003-10-22 11:22) [4]

В принципе, можно и без потоков - просто в теле цикла, возможно не на каждой итерации, вызывать Application.ProcessMessages, а в обработчике кнопки "Stop" некий флаг устанавливать, который проверять в цикле и, если что, цикл брейковать.
Однако надо быть готовым к тому, что в этом случае пользователь может с дуру начать тыкать вовсе не на кнопку останова, а на меню, системное меню окна, жать Alt-F4 и т.д.



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

Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-8253
ИМХО
2003-10-14 11:21
2003.11.03
ADO, строка подключения и диск D


1-8453
Denisiy
2003-10-21 17:12
2003.11.03
Напомните плз, как кавычку в строковой переменной представить?


3-8259
Denisiy
2003-10-14 12:47
2003.11.03
Авторазмер столбцов в DBGrid - бывает?


1-8399
S@b@k@.
2003-10-22 15:46
2003.11.03
Как узнать СВОЙ пароль


1-8449
Wadim
2003-10-21 19:01
2003.11.03
TEdit





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