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

Вниз

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

 
JIuradfsd   (2005-08-01 15:59) [0]

Есть цикл вида Repeat...Until;
НА форме есть кнопка - прекратить расчет. ПРи нажатию на нее программа должна выйти из цикла.
Сейчас написанно следующее:

Button1:
PrekrRach:=true;

В Цикле:
..
Until PrekrRach=true;

Но во время выполнения кода я не могу кликнуть на кнопку....
Помниться я уже про это спрашивал мне посоветоваали добавить в код строчку:
Application.ProcessMessages;
и что-то еще.... вот что еще?


 
Ega23 ©   (2005-08-01 16:00) [1]

Перед Until - Application.ProcessMessages   ?


 
isasa ©   (2005-08-01 16:03) [2]

repeat
...
until...
в отдельном треде, тогда кнопку нажмешь.


 
Fay ©   (2005-08-01 16:04) [3]

... ещё условие выхода из цикла, блин!


 
begin...end ©   (2005-08-01 16:36) [4]

> JIuradfsd   (01.08.05 15:59)
> Until PrekrRach=true

Это чревато плохими последствиями. Пишите просто Until PrekrRach.


 
JIuradfsd   (2005-08-01 16:44) [5]

Помоему я хреново обьяснил что никто не понял.
Для выхода из цикла необходимо выполнение условия:
Until PrekrRach=true
.....
НО !!!! НЕОБХОДИМО КАК ТО ПРИСВОИТЬ переменной PrekrRach значение true. ПРисвыоение же идет при наждатии на кнопку:

procedure Tfrmmain.CmdStopRachClick(Sender: TObject);
begin
StopRach:=true;
end;


НО ПРОБЛЕМА В ТОМ что при запуске программы происходит нерперывное выполнение цикла, и как следствие, на кнопку я нажать просто физически не могу - приложение как бы подвисает. Так вот что сделать, чтобы я нажать мог?


 
Lexer ©   (2005-08-01 16:48) [6]

> JIuradfsd   (01.08.05 16:44) [5]

см. [1] Ega23 ©   (01.08.05 16:00)

а при нажатии на кнопку меняешь значение переменной PrekrRach


 
Юрий Зотов ©   (2005-08-01 16:51) [7]

> JIuradfsd   (01.08.05 16:44) [5]

Вам ответили сразу же (см. [1]). Неплохо бы быть внимательнее.


 
surkis   (2005-08-01 16:55) [8]

создаёшь новый TTread на Execute ставишь свой обработчик и он будет обрабатываться паралельно с форменым потоком так что кнопка будет нажиматься а по клику выход из Tread


 
JIuradfsd   (2005-08-01 17:13) [9]

Благодарю!
Просчто в конце сообщения Ega23 был поставлен знак вопроса. А подумал что человвек не понял вопроса



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
14-1122653780
Alexander Panov
2005-07-29 20:16
2005.08.21
Фото от 24.06.2005г.


1-1122630880
Спросивший
2005-07-29 13:54
2005.08.21
Проблема при установке компонента


6-1115562063
Isaev
2005-05-08 18:21
2005.08.21
Dual-up


4-1120221767
Silence
2005-07-01 16:42
2005.08.21
Надо получить позицию символа в мемо при движении мышки...


14-1122483433
Димаска
2005-07-27 20:57
2005.08.21
IRC в E-Mule