Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 24.01.2008, 16:28   #1
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию Пауза в выполнении программы

Как сделать, чтобы выполнение программы можно было остановить каким-то сочетание клавиш или кнопкой?(Аналог кнопки пауза)
Иллидан вне форума Ответить с цитированием
Старый 24.01.2008, 16:33   #2
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

зарегистрировать горячую клавишу
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 24.01.2008, 16:42   #3
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Цитата:
Сообщение от vitalik007 Посмотреть сообщение
зарегистрировать горячую клавишу
В каком смысле? для меня необходимо, что-бы программу во время долго расчета можно было останавить, а потом, щелкнув скажем на кнопке "продолжить" продолжить ее выполнение.
Иллидан вне форума Ответить с цитированием
Старый 24.01.2008, 16:48   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Один из способов:
у любого компонента есть свойства tag
во время продолжительного вычисления используйте application.proccessmessages (могу ошибиться в написании)
чтобы обрабатывать сообщения от других компонентов
по нажатии на кнопку Пауза выставляйте Tag свойство некого компонента (например самой формы) в ,скажем, 1
По нажатию. на кнопку возобновления выставляйте Tag =0
в самой функции периодически проверяйте статус свойства Tag если оно 1 то
while XXX.tag<>0 do
application.proccessmessages;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.01.2008, 17:05   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Иллидан Посмотреть сообщение
В каком смысле? для меня необходимо, что-бы программу во время долго расчета можно было останавить, а потом, щелкнув скажем на кнопке "продолжить" продолжить ее выполнение.
Запускать расчет в отдельном потоке(ах), а по кнопке делать SuspendThread/ResumeThread. Заодно и интерфейс не будет тормозить.
B_N вне форума Ответить с цитированием
Старый 24.01.2008, 17:07   #6
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Спасибо, все работает. Единственно, после того, как я нажал паузу я почему-то не могу закрыть форму(нажать крестик). Как это исправить?
Иллидан вне форума Ответить с цитированием
Старый 24.01.2008, 17:56   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Мне кажется лучше всего будет всетки зарегистрировать горячую клавишу
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка и падение (выход) Excel при выполнении сложной программы на VBA Serge_Bliznykov Microsoft Office Excel 6 13.08.2008 16:50
VB6. Программа зависает при выполнении. Artinka Помощь студентам 2 03.04.2008 00:06
Ошибка при Выполнении Insert nimf БД в Delphi 2 27.11.2007 19:16
Возможно ли пауза Music XM при сворачивание формы ? Volkogriz Общие вопросы Delphi 3 13.10.2007 15:04
Странная ошибка при выполнении okolobaxa Общие вопросы Delphi 2 03.07.2007 00:47


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS