![]() |
|
Модераторы: bsa |
![]()
|
|
| jofy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.11.2008 Где: Украина, Севастоп оль Репутация: нет Всего: нет |
Здравствуйте, пишу на VC++ нужно сделать таймер, я его описываю, только не могу понять как связать его с процедурой которую он будет выполнять по истечению времени, в MFC нужно просто добавить сообщение WM_TIMER, а в консольном приложении даже не знаю.
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
юзай эту ф-цию -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Только учти, что для того, что бы SetTimer работала, твоя программа должна крутить цикл обработки сообщений (GetMessage/DispatchMessage), что для консольных программ обычно не делается
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
xvr, не обязательно , я как раз и указал , что бы таймер не сообщение кидал , а вызывал колбек функцию, для консоли самый раз , и без создания очереди сообщений или окна
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Обязательно, даже для callback функции нужно крутить цикл выборки сообщений, иначе не работает MSDN:
|
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
странно а раньше у мя работало без цикла сообщений , а сейчас в колбек ф-цию даже не входит
(хммм как у мя получалось раньше? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Ну например, кто то этот цикл все же крутил. В Винде довольно много таких мест, которые это делают сами (например функция MessageBox |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
можно в отдельном потоке выполнять нужный код а затем Sleep() на оставшееся время:
int t0,t1,dt; int T=16; //период for(;;) { t0=GetTickCount(); ... t1=GetTickCount(); dt=T - (t1-t0); if (dt>0) Sleep(dt); }; |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |