Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> таймер 
V
    Опции темы
Robin
Дата 5.5.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



нужно сделать таймер, который по истечении N времени сделает printf("rimer test successful" );
какие функции юзать? если просто взять локалтайм, то будет геморно проверять каждый раз время, так как если таймер будет на несколько часов, придется каждые несколько минут сверять время

PM MAIL   Вверх
ama_kid
Дата 5.5.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 5
Всего: 95



Две статьи о таймерах: About Timers и Using Timers
Правда, для приложений без цикла обработки сообщений (консольных) - не прокатит. Имхо надо использовать GetTickCount


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Snowy
Дата 5.5.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



А просто Sleep не подойдёт?
PM MAIL   Вверх
archimed7592
Дата 5.5.2007, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: нет
Всего: 93



вполне себе кросс-платформенное решение на с++:
Код
boost::xtime tm;
boost::xtime_get (&tm, boost::TIME_UTC);
tm.sec += 3600 * 5; // 5 hours
boost::thread::sleep (tm);



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
-Kp0T-
Дата 5.5.2007, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 23.2.2007

Репутация: 2
Всего: 2



Задержка в 1000 мс:
Код

...
HANDLE hFake=CreateEvent(0,true,false ,"Fake");
WaitForSingleObject(hFake,1000);
...
CloseHandle(hFake);

PM MAIL   Вверх
dumb
Дата 5.5.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



Цитата(-Kp0T- @  5.5.2007,  12:12 Найти цитируемый пост)
WaitForSingleObject(hFake,1000);

smile
чем Sleep-то не угодил?
PM MAIL   Вверх
-Kp0T-
Дата 6.5.2007, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 23.2.2007

Репутация: 2
Всего: 2



Цитата(dumb @ 5.5.2007,  12:04)
smile
чем Sleep-то не угодил?

Sleep() - тоже фунцкия, просто предложил альтернативу. Да простят меня модераторы... smile 
PM MAIL   Вверх
Kornev
  Дата 6.5.2007, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.12.2006

Репутация: нет
Всего: нет



А почему не подходит Win32 Project, Typical "Hello Word" Application, и стандартные пара строчек:
В самом верху    
#define IDT_TIMER1 1111111111111
#define IDT_TIMER2 2222222222222

И в цикле обработки сообщений

case WM_CREATE:
SetTimer(hWnd,IDT_TIMER1,5001,(TIMERPROC) NULL); 
SetTimer(hWnd,IDT_TIMER2,8000,(TIMERPROC) NULL);
break;

case WM_TIMER: 
 
    switch (wParam) 
    { 
        case IDT_TIMER1:
MessageBox(hWnd, "11", "11", IDOK);
         return 0; 
 
        case IDT_TIMER2:
MessageBox(hWnd, "22", "22", IDOK);        
         return 0; 
    } 

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1957 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.