Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизКак сделать прерывание цикла в программе при нажатии на кнопку? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c