Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
1

Таймер для консольного приложения

11.02.2016, 12:09. Просмотров 239. Ответов 5
Метки нет (Все метки)

Добрый день, подскажите как реализовать таймер в консольном приложение. Таймер нужен для ожидания нажатия клавиши, если ничего не нажали то программа просто продолжает свою работу, если произошло нажатие, происходит выполнение определённого действия. Sleep для решения данного вопроса не подходит.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2016, 12:09
Ответы с готовыми решениями:

Иконка для консольного приложения
Всем привет !! Возник такой вопрос можно ли консольной программе дать иконку которую ты хочешь а не...

Иконка для консольного приложения
Я хочу установить иконку к своему консольному приложению, работаю в Code Blocks. Я долго искал...

Команды для консольного приложения
Пишу на С++. Нужно создать консольное приложение. Со своими командами. Мне просто хочется понять,...

He1p или /? для консольного приложения
Собственно, как? Или просто нужно принять параметры, отследить, что это /? и соответственно...

Параметры для запуска консольного приложения
Доброго времени суток!) У некоторых исполняемых файлов вроде того же shutdown.exe есть параметры...

5
ПерС
431 / 356 / 322
Регистрация: 05.11.2013
Сообщений: 1,010
Записей в блоге: 6
Завершенные тесты: 1
11.02.2016, 12:18 2
организуй бесконечный цикл, в котором проверяется, не нажата ли клавиша
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <conio.h>
#include <windows.h> 
using namespace std;
 
int main() {
 while (1) {
  while (!_kbhit()) {
   printf ("."); //делает что-то, пока не нажата клавиша
   Sleep(50); //просто чтоб не мельтешило
  }
  int c=_getch();
  if (c==27) break; //выход по ESC
  printf ("\nKey %d",c); //делает что-то в зависимости от клавиши
 }
 return 0;
}
1
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
11.02.2016, 12:34  [ТС] 3
Спасибо, данное решение мне скорее всего подойдёт, но интересен вопрос все же именно таймера. Например чтоб вывести сообщение "Жду действия или продолжаю обработку" и ждёт секунд 5. В прошлом варианте задержку если ставить больше то нужно клавишу держать а не просто 1 раз нажать. Существует именно интересующий меня способ реализации?
0
ПерС
431 / 356 / 322
Регистрация: 05.11.2013
Сообщений: 1,010
Записей в блоге: 6
Завершенные тесты: 1
11.02.2016, 12:45 4
вывести сообщение "Жду действия или продолжаю обработку" и ждёт секунд 5
чем отличается от "выводит звёздочку и ждёт 50 миллисекунд"?
если Sleep использовать нельзя, напиши свой аналог, типа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <ctime>
using namespace std;
 
void mySleep(int sleepTime) {
int curTime = clock(); //get the current time
while(clock() - curTime < sleepTime) {} //wait until the time has passed
}
 
int main () {
 cout << "start... ";
 mySleep (3000);
 cout << " ...stop";
 return 0;
}
1
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
11.02.2016, 13:07  [ТС] 5
Ничем не отличается, так как он просто ждёт время, а мне нужно именно чтоб в эти 5 секунд он не спал, а ждал именно нажмут что-либо или нет, а предложенные оба варианта просто спят это время. Интересует именно нажатие в отведённое время. Спасибо за помощь...
0
GbaLog-
Любитель чаепитий
3202 / 1503 / 472
Регистрация: 24.08.2014
Сообщений: 5,271
Записей в блоге: 1
Завершенные тесты: 2
11.02.2016, 13:09 6
Cooller51190, Посмотрите в сторону thread.
1
11.02.2016, 13:09
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 13:09

Написать GUI для консольного приложения
Доброго времени суток всем. Имеется консольное приложение, хочу присобачить к нему GUI, но в виде...

Простенькое графическое меню для консольного приложения DOS
помогите реализовать простенькое графическое меню для консольного приложения DOS

Нужен пример типового модуля распознавания команд для консольного приложения
я собираюсь это делать, но чувствую, что сейчас буду изобретать велосипед. я собираюсь делать...


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

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

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