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

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

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

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

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

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

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

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

Цитата:
Сообщение от vitalik007 Посмотреть сообщение
зарегистрировать горячую клавишу
В каком смысле? для меня необходимо, что-бы программу во время долго расчета можно было останавить, а потом, щелкнув скажем на кнопке "продолжить" продолжить ее выполнение.
Иллидан вне форума Ответить с цитированием
Старый 24.01.2008, 15: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, 16:05   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

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

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

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка и падение (выход) 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 18:16
Возможно ли пауза Music XM при сворачивание формы ? Volkogriz Общие вопросы Delphi 3 13.10.2007 15:04
Странная ошибка при выполнении okolobaxa Общие вопросы Delphi 2 03.07.2007 00:47