Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
semyonpetrov
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 8
#1

Таймер c++ - C++

15.04.2014, 16:22. Просмотров 3600. Ответов 7
Метки нет (Все метки)

как создать таймер в с++ ? чтоб с каждой секундой переменная увеличивалась на 1 или каждую секунду выводилось какое-либо сообщение.
заходил в википедию но ничего не понял.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 16:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Таймер c++ (C++):

таймер c++ - C++
Всем привет. Прошу вас помочь мне в слудующем: нужен простой таймер(среда visual c++ express выпуск),который отключит вот эту функцию...

Таймер - C++
Господа знатоки,прошу помощи: Нужно реализовать таймер при запуске нужной функции: Класс class Game { protected: clock_t...

таймер - C++
извините , я знаю что уже миллион раз спрашивали это но подскажите обычный таймер в С++ не винапи а просто в С++ и как чтобы обнавлялась...

Таймер на С/С++ - C++
Всем доброго времени суток. Есть такой вопрос. Как написать на С/С++ таймер который будет выполнять какой то участок кода через на пример 5...

таймер - C++
Мне нужно написать программу которая будет по таймеру выписывать сообщение к примеру. В общем мне интересна работа с таймером.

таймер - C++
Функцию надо вызывать каждую минуту. Название функции void xxx(). Как сделать с помощью settimer, ну то есть вызвать таймер

7
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
15.04.2014, 16:28 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
//...
int i = 0;
while (i < 5)
{
    Sleep(1000);    //задержка в 1000 миллисекунд (1 секунда)
    std::cout << "Message" << std::endl;
    i++;
}
1
newbie666
Заблокирован
15.04.2014, 16:36 #3
Цитата Сообщение от dimcoder Посмотреть сообщение
Sleep(1000);
ща кстате в С++ 11 сделали свой 'Sleep', включённый в стандарт, то есть не обязательно даже WinApi использовать:
Вместо Sleep(1000); можно написать std::this_thread::sleep_for(std::chrono::seconds(1));, подключив пару инклюдников:
C++
1
2
#include <chrono>
#include <thread>
3
John Prick
831 / 764 / 154
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
15.04.2014, 16:45 #4
Таймер WinAPI:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
 
int i = 0;
 
void my_func(void)
{
    ++i;
}
 
int main(void)
{
    unsigned short t = SetTimer(0, 0, 1000, my_func);
    while (true) {};
}
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
15.04.2014, 16:46 #5
newbie666, полезная вещь. Раз уж такой компот пошел, то вот для коллекции
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
 
int main()
{
    unsigned int toGo = 1000, start = GetTickCount();    
    while (start + toGo >= GetTickCount())
        ;
    return 0;
}
PS: WinApi - Портативность: 3 - 1, если так можно выразиться.
0
semyonpetrov
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 8
15.04.2014, 16:53  [ТС] #6
спасибо всем.
0
newbie666
Заблокирован
15.04.2014, 16:56 #7
Цитата Сообщение от dimcoder Посмотреть сообщение
Раз уж такой компот, то вот для коллекции
нуу в WinApi есть много полезных штуковин. И вообще, если ты пишешь программу под Windows - несомненно надо использовать Windows SDK вместо стандартных фишек С++ по возможности. (Долго рассказывать почему)
А по поводу компота, вот тогда тоже для коллекции высокоточный таймер:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <tchar.h>
#include <iostream>
#include <windows.h>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    LARGE_INTEGER perfFreq, perfCounter;
    QueryPerformanceFrequency(&perfFreq);
    LONGLONG prevValue = 0;
    while (true)
    {
        QueryPerformanceCounter(&perfCounter);
        LONGLONG currentValue = perfCounter.QuadPart / perfFreq.QuadPart;
        if(currentValue != prevValue)
        {
            prevValue = currentValue;
            std::cout << currentValue << std::endl;
        }
    }
    return 0;
}
0
don_keyhot
8 / 8 / 2
Регистрация: 02.04.2014
Сообщений: 62
15.04.2014, 17:51 #8
может это поможет (Прохоренок Н.А. "Программирование в VS 2010"):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//ЛИСТИНГ 7.4. Измepение времeни въполнения
#include <iostream> 
#include  <сtime> 
#include <windows.h> 
int main ()
{
  std::clock_t t1, t2, t3;
 
  t1 = std::c1ock(); // Метка 1 
  std::cout << "t1 = " << t1 << std::endl; 
  Sleep (2000); // Имитация фраrмента кода 
 
  t2 = std::c1ock(); // Метка 2 
  std::cout << "t2 = " << t2 << std::endl; 
 
  t3 = t2 - t1; // Разница между метками 
  std::cout << "t3 = " << t3 << std::endl; 
  std::cout << (t3 / CLOCKS_PER_SEC) << " sec. " << std::endl;
  std::cin.get ();
 
  return о;
}
0
15.04.2014, 17:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 17:51
Привет! Вот еще темы с ответами:

Таймер - C++
То-ли я кривой, то-ли лыжы не едут. Чё за фигня? Таймер не работает... POINT previousPoint, currentPoint; bool mouseDown; HPEN myPen; ...

таймер микросекунд - C++
Нужно оценить эффективность работы алгоритма кодирования данных по методу Хаффмана, для этого следует установить на фрагменты выполнения...

условия и таймер | C++ - C++
Как сделать 2 условия на таймер, тоесть он задан к примеру на 5 минут, нужно чтобы 1 действие выполнялось когда будет 3 минуты, а 2...

Таймер из Delphi в С++ - C++
Прошу помощи в перекладке кода таймера из Делфи на Си++, ну или хотя бы подсказки, чем заменить Ttime procedure...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru