| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Как прервать цикл кнопкой на форме? |
| Автор: San4o_Pan4o 25.3.2009, 10:40 |
| Всем здрасьте! Есть прога по вычислительным методам, решает систему + одновременно рисует график погрешности. Все это происходит в внутри большого цикла while(). Цикл может тянутся долго, и хочется иметь возможность его остановить в любой момент, типа кликнул кнопочку и оно стопанулось. Как можно сделать, подскажите плиз. И, если можно, с кодом.. |
| Автор: Frees 25.3.2009, 11:03 |
| Application.ProcessMessage; и флаг для прекращения цикла |
| Автор: vladimir74 25.3.2009, 11:18 | ||
|
| Автор: Sanek123 25.3.2009, 11:41 |
| По моему можно воспользоваться кострукцией repeat ... until типа: Repeat ... цикл ... until button.click; цикл будет при выполнении нового круга проверять не была ли нажата кнопка стопа. |
| Автор: Frees 25.3.2009, 11:44 |
| Repeat ... цикл//во тут у тебя прога зависнет и не сможеш ты ничего нажать ... until button.click; |
| Автор: THandle 25.3.2009, 16:48 |
| Никаких флагов, никаких циклов, использовать следует потоки. http://forum.vingrad.ru/index.php?showtopic=243846&view=findpost&p=1757937 http://forum.vingrad.ru/forum/topic-220051/hl/%25D0%25BF%25D0%25BE%25D1%2582%25D0%25BE%25D0%25BA/index.html |
| Автор: San4o_Pan4o 26.3.2009, 07:21 |
| всем спасибо, ProcessMessages помогло тему можно прикрыть) |
| Автор: Frees 26.3.2009, 07:30 |
это решение для начинающих, не совсем удобное, например попробуй закрыть приложение когда выполняется цикл. если хочеш сделать все правельно кури TThread и слушай THandle, |