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

Вниз

Остановка цикла   Найти похожие ветки 

 
User_OKA ©   (2002-10-10 07:25) [0]

Здравствуйте мастера!!!
Есть программа с циклом. Необходимо приостановить его выполнение, для того, чтобы посмотреть данные на форме.
А затем, например по клавише Enter продолжить его выполнение.


 
MBo ©   (2002-10-10 07:38) [1]

1 путь - в процедуру с циклом передаешь начальное значение счетчика (или глоб. переменная), в ней проверяешь Application.processmessages и по некому флагу выходишь, затем снова запускаешь ее с места остановки
2 - выносишь в отдельный поток, suspend/resume


 
Viktor Kushnir ©   (2002-10-10 07:43) [2]

Способ кривоват, но все же...
Сделай внутри главного цикла еще один.

Типа:
Var
Pause :Boolean = false; //глобальная

For i:= 0 to do //это твой главный цикл
begin

While Pause do // это цикл паузы
Begin
//сюда можно что-нить написать, типа
Application.Processmessages;
End;

End;

И где-нить в обработчеке кнопки "Пауза/Продолжить"
напиши такое
Pause := not pause;


 
Anatoly Podgoretsky ©   (2002-10-10 07:58) [3]

Ты бы написал критерий остановки, значение, событие или как.
В принципе тебе уже ответили, только я бы структурно изменил это, на основе Viktor Kushnir © (10.10.02 07:43)

for i:= 0 to do begin
...
Application.Processmessages;
if Criteria then View // процедура (форма) просмотра
...
End;


 
KSergey ©   (2002-10-10 08:13) [4]

> Viktor Kushnir © (10.10.02 07:43)

Только для того, чтобы этот обработчик срабатывал, необходимо так же и в самом цикле вставлять Application.Processmessages, либо использовать ф-цию PeekMessage (что-то такое)


 
User_OKA ©   (2002-10-10 10:01) [5]

Спасибо мвстера!!!


 
REA ©   (2002-10-10 10:16) [6]

Сначала скажи зачем это? Надеюсь не для отладки?


 
User_OKA ©   (2002-10-10 13:22) [7]

Надеюсь нет!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-68828
Павел Хабаров
2002-10-10 11:00
2002.10.21
Ошибка при инсталляции


1-68830
Cosinus
2002-10-10 10:39
2002.10.21
Вопрос по OnKeyDown и SetFocus;


3-68629
vis79
2002-09-30 06:45
2002.10.21
высота ячейки в QuickReport (AutoStretch)


3-68625
SaperXL
2002-09-29 21:19
2002.10.21
организовать раздельный доступ к БД


1-68723
BillyJeans
2002-10-11 08:24
2002.10.21
Не могу создать TQRLabel в QReport...