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

таймер в консольном приложении win32 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Быстрое преобразование Фурье http://www.cyberforum.ru/cpp/thread247755.html
Доброго времени суток. Пытаюсь реализовать на С++ создание цифрового фильтра методом свертки, при этом использую БПФ, реализованную на http://algolist.manual.ru/maths/fft.php, но получаю странный результат: после прогона заданной частотной характеристики фильтра через обратное БПФ(пока использую FFT_T) в выходном массиве появляеются ненулевые комплексные составляющие. int N = FDiscr*2;...
C++ Создание простого "кликера" Здравствуйте, если кому-нибудь не сложно, написать маленькую программку, которая по запуску будет в выбранном активном приложение, нажимать с интервалом в 2 сек поочередно кнопки стрелку влево, стрелку вправо и так циклом до выключения этой программы. P.S. Сразу прошу прощения, если не в тот раздел, пытался написать в Ява-скрипт, оказалось не туда, посоветовали поискать помощи в этом разделе. http://www.cyberforum.ru/cpp/thread247726.html
Хеширование C++
Уважаемые коллеги программисты. Мне нужна ваша помощь. Дело в том что я сейчас работаю над одним модулем. В нем я выделяю динамически память. И все эти куски храню в хэш таблице. Проводил тест. Создал хэш таблицу из 100 000 элементов(округлял до простого числа в большую сторону). И выделял память для 100 000 указателей. К хеш функции отправлял адресс выделенной памяти. Как работала хэш функция:...
C++ Программные средства автоматической генерации тест-кейсов
Всем доброе время суток! Возникла проблема с написанием дипломной работы. Тема работы "Программные средства автоматической генерации тест-кейсов". Так как в тестирование не очень силен, может кто-то подскажет с чего начать, на чем писать! Может есть какие-то исходники для примера??! Конечные результат должен быть похож на ProTesting Test Case Generator (автоматическая генерация тест кейсов...
C++ Как программно вытянуть инфу о железе на с++ http://www.cyberforum.ru/cpp/thread246460.html
Пардон за флуд, не увидел раздел. Задача вытянуть инфу о железе, т.е. тип,модель, объем по каждой комплектухи, на с++. Буду рад любым идеям, чирканите хоть в какую сторону копать. з.ы. просьба варианты с еверестами и аидами не писать, нужно самому программно накалякать нечто подобное.Спасибо
C++ C# Есть работа (сервер клиент) Есть программа нужно немножко переделать и добавтить кое какие функции Сервер и клиент! Имееться исходник на прогу. ICQ : 639269775 mail: Leo_need92@bk.ru подробнее

Показать сообщение отдельно
Dexter
 Аватар для Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
25.02.2011, 13:32     таймер в консольном приложении win32
таймер в консольном приложении win32
Как-то я делал когда-то но сейчас не вспоминается (может я и ошибаюсь), там не так просто как в оконных приложениях.

вопрос один: реально ли в консольном приложении сделать так, чтобы программа ожидала некоторое количество времени некую команду (например, getch()) и выполняла некий алгоритм, если дождётся либо выполняла другой алгоритм (ничего не делала), если эта самая "некая команда" не получена?
Вот без таймера, а с событием:
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
27
28
29
30
31
32
#include  <windows.h>
#include <stdio.h>
#include <conio.h>
HANDLE hTimer = NULL;
 
DWORD WINAPI WaitingFor(LPVOID lParam)//функция окончание которой мы ждем, в данном случае getch()
{
    getch();
    SetEvent(hTimer);
    return 1;
}
 
int wmain()
{
    HANDLE MyThread;
    hTimer=CreateEvent(NULL, TRUE, FALSE, L"timer" );//делаем евент
    MyThread=CreateThread(NULL,0,WaitingFor,NULL,0,0);//запускаем в потоке нужную нам функцию
    DWORD res=WaitForSingleObject(hTimer, 10000);//ждем события в данном случае 10сек
    if (res == WAIT_OBJECT_0)//если событие было взведено, тоесть getch() получен
    {
        wprintf(L"WaitForSingleObject() - timer was signaled...\n");//чето делаем
    }
    else
    if (res == WAIT_TIMEOUT)//если ушли по таймауту - убиваем поток и чето делаем
    {
        wprintf(L"WaitForSingleObject() - time out...\n");
        CloseHandle(MyThread);
    }
    else//ну и на случай ошибки
        wprintf(L"WaitForSingleObject() failed, error %d\n", GetLastError());
    return 0;
}
 
Текущее время: 04:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru