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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2010, 15:41   #1
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию Проблемы с созданием таймера

Прочитал полно литературы, в которой описывается создание таймера, но когда начинаю сам пробовать вылетает куча ошибок!!! Если вам несложно напишите мал. прорамку с созданием таймара с коментариями, я хоть посмотрю в чём моя ошибка))) Заранее спосибо!!!
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 02.02.2010, 15:45   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

На чем вы хоть пишете? В Билдере можно вообще кинуть на форму таймер - вот он и готов. А вы через что хотите реализовать? И желательно бы свой код выложить.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.02.2010, 15:45   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какой Си Микрософт или Борланд?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.02.2010, 15:51   #4
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

Visual c++ express edition

2005 год если что. Код я напишу , но я сам понимаю что бред написал
Код:
#include<iostream>
#include<time.h>
using namespace std;
void main()
{
SetTimer(hwnd, FIRST_TIMER, 1000, NULL);
... тут я вооще не понимаю что писать
KillTimer(hwnd, FIRST_TIMER);
}
Если долго мучаться, что нибудь получится!!!

Последний раз редактировалось Stilet; 02.02.2010 в 16:21.
girkoff вне форума Ответить с цитированием
Старый 02.02.2010, 19:03   #5
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код:
#include <mmsystem.h>
#pragma comment( lib, "Winmm.lib" )


void CALLBACK TimerCallback( UINT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR )
{
...
}


unsigned createTimer( unsigned interval )
{
return timeSetEvent( interval, 0, &TimerCallback, 0, TIME_KILL_SYNCHRONOUS | TIME_CALLBACK_FUNCTION | TIME_PERIODIC );
}


void killTimer( unsigned timer )
{
timeKillEvent( timer );
}

Последний раз редактировалось Carbon; 02.02.2010 в 19:06.
Carbon вне форума Ответить с цитированием
Старый 02.02.2010, 23:41   #6
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

спосибо за пример, а как на счёт того что я написал или так нельзя писать вообще???
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 03.02.2010, 00:23   #7
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от girkoff Посмотреть сообщение
спосибо за пример, а как на счёт того что я написал или так нельзя писать вообще???
Честно, понятия не имею. Надо мсдн курить.
Carbon вне форума Ответить с цитированием
Старый 03.02.2010, 00:45   #8
--=SaNitinDG=-
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 61
По умолчанию

#define ID_TIMER_1 100

Цитата:
bool Test;//Переменная
Цитата:
void CDiaDlg::OnButton1()
{
if (!Test)
{
Test=true;
SetTimer(ID_TIMER_1,100,NULL);
}
else
{
Test=false;
KillTimer(ID_TIMER_1);
}
}
Опыт не пропьешь если он есть=)))
--=SaNitinDG=- вне форума Ответить с цитированием
Старый 03.02.2010, 02:23   #9
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Цитата:
спосибо за пример, а как на счёт того что я написал или так нельзя писать вообще???
Почему нельзя? очень даже льзя, только в последнем параметре надо было указать адресс функции, которая будет вызваться каждый раз при окончании периода который вы установили. НО программа должна обрабатывать сообщения

Код:
LRESULT CALLBACK Timer(HWND hWnd,UINT iMsg,UINT iTimerID,DWORD dwTime)
{
}

void main()
{
        MSG msg;
        SetTimer(NULL, FIRST_TIMER, 1000, (TIMERPROC)Timer);
 	while (GetMessage(&msg, NULL, 0, 0))  {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
}
подпись
liljon вне форума Ответить с цитированием
Старый 03.02.2010, 09:31   #10
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

--=SaNitinDG=- я так понял если нажата не test тогда запускаем таймер, иначе уничтожаем???
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отсрочка таймера Lifefine Общие вопросы Delphi 4 15.01.2010 03:39
Обработка прерывания таймера Temi4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 01.06.2009 19:56
Обойтись без таймера Pedro Общие вопросы Delphi 1 20.11.2008 21:20
Интервал Таймера... Roof Общие вопросы Delphi 27 08.07.2008 20:19
использование таймера KancJler Помощь студентам 13 19.04.2008 01:13