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

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

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

Показать сообщение отдельно
SentineL-88
1 / 1 / 0
Регистрация: 21.06.2010
Сообщений: 23
01.03.2011, 19:09  [ТС]
нет, в данном случае мне нужно немного не это: суть в том, что я работаю сейчас с устаревшей winbgim.h, так что там свой 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
#include "stdafx.h"
#include "winbgim.h"
#include "windows.h"
#include <stdio.h>
 
HANDLE hTimer = NULL;
UINT arrow_right = MapVirtualKey(77,1);
UINT arrow_left = MapVirtualKey(75,1);
 
class Player
{...};
class map
{...};
 
Player *pl;
int **field;
DWORD WINAPI Moveing (LPVOID lParam)
{
    if (GetAsyncKeyState(arrow_right)) 
    {
        if (field[pl->get_x2()+1][pl->get_y1()-1]<1 && 
            field[pl->get_x2()+1][pl->get_y2()-1]<1) pl->move(1,0);
    }
    else if (GetAsyncKeyState(arrow_left)) 
    {
        if (field[pl->get_x1()-1][pl->get_y1()-1]<1 && 
            field[pl->get_x1()-1][pl->get_y2()-1]<1) pl->move(-1,0);
    }
    SetEvent(hTimer);
    return 1;
}
Мне надо, чтобы ожидалось одно из двух событий: стрелка влево и стрелка вправо, и выполнялось, соответственно, 2 разных алгоритма. И при этом, чтобы указатели НЕ были определены глобально. Стало быть, их либо нужно передать в функцию, либо вынести алгоритмы из функции, но тогда получать из неё разные значения. Конечно, использую последний пример можно менять значения какой-нибудь глобальное переменной, но это ни чуть не лучше, чем определить глобально указатели, что я и сделал на данный момент. Хотелось бы, всё-таки, избежать этого.

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