Форум программистов, компьютерный форум CyberForum.ru

таймер - C++

Восстановить пароль Регистрация
 
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
19.12.2013, 09:16     таймер #1
Функцию надо вызывать каждую минуту. Название функции void xxx(). Как сделать с помощью settimer, ну то есть вызвать таймер
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 09:16     таймер
Посмотрите здесь:

C++ Таймер
Таймер C++
C++ таймер
C++ Таймер
C++ таймер
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
19.12.2013, 09:29     таймер #2
Я делал таймер только в Visual Studio, не знаю подойдет тебе или нет.

В .h файле:
C++
1
2
UINT_PTR m_nTimer;
afx_msg void OnTimer( UINT  ttm );
В .cpp файле в конструкторе:
C++
1
m_nTimer = SetTimer(1, 60000, NULL);
В .cpp файле:
C++
1
2
3
4
void MainClass::OnTimer( UINT ttm)
{
.....
}
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
19.12.2013, 09:38  [ТС]     таймер #3
Пишу только в Visual Studio, но немного не Понятно мне(((
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
19.12.2013, 09:41     таймер #4
Что не понятно?
OnTimer - функция, вызываемая по таймеру. Я делал через ее переопределение.
SetTimer - Запускает таймер
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
19.12.2013, 09:53  [ТС]     таймер #5
[QUOTE
afx_msg void OnTimer( UINT ttm ); [/CPP][/QUOTE]

Пишет что afx_msg неизвестный идентификатор

Добавлено через 9 минут
Я видимо куда то это не туда пишу
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
19.12.2013, 10:07     таймер #6
#include "afxwin.h" подключи
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
19.12.2013, 13:54  [ТС]     таймер #7
Нет такого файла у меня, проведите пожалуйста пример с таймером, где через одно и тоже время обрабатывается одна и та же функция. Имя функции: void xxx()
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
19.12.2013, 14:54     таймер #8
Сладуля, Так это стандартный файл, компилятор ошибку выдал?
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
19.12.2013, 15:01  [ТС]     таймер #9
У меня нет в стандартных его
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
22.12.2013, 20:24  [ТС]     таймер #10
таймер в 6 строчке считая сверху выдает ошибку( там где указатели. Спасайте
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
22.12.2013, 21:08     таймер #11
Текст ошибки напиши
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
23.12.2013, 09:51  [ТС]     таймер #12
Значит я заменила * на ^ так как компилятор выдал ошибку. А теперь он пишет- не возможно преобразовать uint в timerdictionary. Спасайте
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
23.12.2013, 10:52     таймер #13
Сладуля, IDEvent нельзя в твой класс преобразовывать... вот и ругается. Я уже не помню как на чистом API таймер делается. И вообще не факт что TIMEPROC внутри твоего класса будет работать.

Вот попался пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
#include <windows.h>
 
void CALLBACK TimerProc(
        HWND hWnd,      // handle of CWnd that called SetTimer
        UINT nMsg,      // WM_TIMER
        UINT nIDEvent,  // timer identification
        DWORD dwTime)   // system time
{
    std::cout << "Inside TimerProc!" << std::endl;
}
 
int main() 
{
    ::SetTimer(NULL, 0x123, 5000, TimerProc);
 
    MSG msg;
    while(::GetMessage(&msg, NULL, 0, 0))
    { 
        ::TranslateMessage(&msg); 
        ::DispatchMessage(&msg); 
    } 
    
    return 0;
}
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
23.12.2013, 11:04  [ТС]     таймер #14
А что такое msg не понимаю((
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
23.12.2013, 11:06     таймер #15
Сладуля, Это обработка сообщений
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 09:49     таймер
Еще ссылки по теме:

C++ таймер c++
Таймер на С/С++ C++
Таймер c++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Сладуля
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 107
Записей в блоге: 2
25.12.2013, 09:49  [ТС]     таймер #16
На строчку Где settimer дает ошибку-функция timerproc вызывает список отсутствующих аргументов, используйте указатель
Yandex
Объявления
25.12.2013, 09:49     таймер
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru