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

Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие - C++

Восстановить пароль Регистрация
 
Aero
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 9
17.08.2014, 03:28     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #1
Ребята, нужно написать программу. Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие. В этой программе нужно использовать секундомер или таймер. По идее мне нужна функция, которая в определённое время засечёт время и в нужное остановит, но я такой нигде не могу найти. Если такая вообще существует, подскажите пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 03:28     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Посмотрите здесь:

C++ else, если какой-либо If не выполняется
Какое действие выполняют операторы: j1=a<<3; и j2=015>>3; C++
C++ Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует.
Вот часть кода, в нем я должен сделать если я ничего не ввожу то чтоб вывело сообщение о том что пользователь не ввел данных, но у меня не выходит C++
C++ Какое время будут показывать часы через р часов q минут r секунд?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Brendon
Заблокирован
17.08.2014, 05:01     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #2
std::chrono
Aero
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 9
17.08.2014, 14:53  [ТС]     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #3
У меня MVC++2010, он почему-то не распознаёт функции chrono, пишет что "std" не содержит члена "chrono".
Справлюсь
 Аватар для Справлюсь
23 / 23 / 5
Регистрация: 24.07.2014
Сообщений: 203
17.08.2014, 15:01     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #4
используйте <time.h>
-=ЮрА=-
Заблокирован
Автор FAQ
17.08.2014, 22:49     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
 
int main(){
    HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, "EVT");
    while( true )
    {
          if( WaitForSingleObject(hEvent , 1000) != WAIT_OBJECT_0 )
          {
                  //Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие.
         }
    }
    return 0;
}
- устанвоку ивенты выпонляй в каком либо потоке либо будет тебе тикающий цикл с периодом 1000 мсек
Brendon
Заблокирован
17.08.2014, 22:54     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #6
Если под Windows, используй QueryPerformanceFrequency и QueryPerformanceCounter
Убежденный
Системный программист
 Аватар для Убежденный
14194 / 6209 / 985
Регистрация: 02.05.2013
Сообщений: 10,346
Завершенные тесты: 1
17.08.2014, 23:08     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #7
Простейший вариант: по таймеру проверять значение, полученное через
GetLastInputInfo. Если за энное время оно не поменялось, значит пользователь
не активен, можно предпринимать действия. Ну а как таймер сделать - тут
десятки способов, от банального Sleep в цикле со счетчиком до WM_TIMER или
использования объектов синхронизации типа event или waitable timer.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
18.08.2014, 14:55     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я делала так.
Подключаете библиотеку
C++
1
#include <chrono>
А в коде
C++
1
2
3
4
        auto  now = std::chrono::high_resolution_clock::now();
        // код, время которого хотите засечь
        auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - now);
        std::cout << "Time : " << elapsed.count() << "ns.\n";
Aero
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 9
18.08.2014, 17:49  [ТС]     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #9
Спасибо большое за ответы

Добавлено через 1 минуту
Тамика, это то, что я очень долго искал, спасибо тебе огромное!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Еще ссылки по теме:

C++ Пользователь вводит текущее время в формате: часы:минута и если 0:00 - 5:59 программа пишет Night, если 6:00-11:59 morning
C++ SFML, произвести какое-либо действие по нажатию мыши
Оказывает ли исход инструкции условного перехода (if) какое-либо влияние на стек C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
  #10

Не по теме:

Aero, сразу бы сказал что хочешь подсчитать время выполнения кода, а не организовать задержку, для этого крмое хроно есть
QueryPerformanceCounter, GetTickcount и банальный clock http://www.cplusplus.com/reference/ctime/clock/

Yandex
Объявления
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Ответ Создать тему
Опции темы

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