Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 23:21   #1
dgoc
 
Регистрация: 04.12.2007
Сообщений: 5
По умолчанию остановка цикла

Привет всем.
Нужна помощь в решении вопроса об остановке цикла.
Точнее есть некий цикл, который необходимо остановить кнопкой Стоп.
Проблема в том, что при выполнеии цикла программа не реагирует на нажатия кнопки Стоп, а тупо виснет.
dgoc вне форума Ответить с цитированием
Старый 27.06.2011, 23:26   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я думаю, что надо исправить обработчик события нажатия некой кнопки Стоп в некой программе, чтоб она не висла.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.06.2011 в 23:29.
Alex11223 вне форума Ответить с цитированием
Старый 27.06.2011, 23:29   #3
dgoc
 
Регистрация: 04.12.2007
Сообщений: 5
По умолчанию

Alex11223, а конкретней можно?
dgoc вне форума Ответить с цитированием
Старый 27.06.2011, 23:31   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какой вопрос — такой и ответ.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.06.2011, 23:32   #5
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

application.processmessages(); в цикле не поможет?
(это я исхожу из того что вы на Delphi пишете, почему язык не указываем? Или как все- забыл?)
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 27.06.2011 в 23:42.
MyLastHit вне форума Ответить с цитированием
Старый 27.06.2011, 23:51   #6
dgoc
 
Регистрация: 04.12.2007
Сообщений: 5
По умолчанию

MyLastHit спасибо. Вроде сработало. Пишу действительно на Delphi, запарился.
Alex11223 объясню на примере.
На форме 2-е кнопки: Пуск и Стоп. По нажатию Пуск запускается цикл: переменная Х увеличивается на 1, пока не будет нажата кнопка Стоп. Однако во время выполнения цикла реакции на нажатие кнопки Стоп нет. Так понятнее?

Если есть еще варианты пишите.
dgoc вне форума Ответить с цитированием
Старый 28.06.2011, 01:03   #7
DoubleTrouble
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 32
По умолчанию

можно таймер с интервалом 1 поставить и цикл там выполнять(точнее не надо писать for i:=1 to maxint), он сам до бесконечности увеличивать будет x. А вот в кнопке стоп написать timer1.enebled:=false; а на Пуск timer1.enebled:=true;. но это как то по детски и в секунду он только тысячу к X прибавить
DoubleTrouble вне форума Ответить с цитированием
Старый 28.06.2011, 02:18   #8
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
и в секунду он только тысячу к X прибавить
timer1.interval:=....
Ваш алгоритм мягко говоря странный, вы еще в отдельном потоке счетчик отгрохайте, чтоб совсем наверняка... работодатель такого никогда не примет, да и преподаватель тоже. Чтобы цикл не тормозил работу программы нужно использовать
Код:
application.processmessages();
всё.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановка потоков по ID steelforce Общие вопросы Delphi 2 24.01.2010 16:50
Остановка выполнения Artanis Общие вопросы C/C++ 1 20.12.2009 18:13
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Остановка Memo Sanek777 Общие вопросы Delphi 1 11.09.2008 15:50
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10