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

Как сделать "Старт", "Пауза", Стоп"? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ребус http://www.cyberforum.ru/cpp-beginners/thread746515.html
# include <iostream> # include <stdio.h> # include <conio.h> # include <math.h> using namespace std; int main() {int d=0,r=0,u=0,g=0,s0,s1,sum; cout <<"Rebus"; do { * do { * * * if(r==d) continue; do { * * * * * if((u==d) || (u==r)) continue; do { * * * * * * if((g==d) || (g==r) || (g==u)) continue; * * * * * * s0=((d*1000)+(r*100)+(u*10)+g); * * * * * * s1=((g*1000)+(u*100)+(r*10)+d); * * * * *...
C++ Как правильно перегружать унарный минус? Дайте правильный прототип перегрузки унарного минуса. http://www.cyberforum.ru/cpp-beginners/thread746508.html
Деление длинного на длинное C++
#ifndef INTEGERLONGS_HPP_INCLUDED #define INTEGERLONGS_HPP_INCLUDED //================================================================================================= namespace Longs { class TInteger; }; //================================================================================================= class Longs::TInteger {
C++ Как переделать эту прогу в шаблон классов "Двусвязный список" произвольных элементов
#include <iostream.h> #include <stdlib.h>2 #include <conio.h> using namespace std; struct Element { public: double data; //сами данные
C++ контейнеры STL и виды деревьев http://www.cyberforum.ru/cpp-beginners/thread746500.html
подскажите, или покажите где есть эта информация например я знаю, что контейнеры map и set реализованы через красно-черное дерево через "какие" деревья\другие структуры данных реализованы остальные контейнеры? vector, string, list, etc и по каким причинам(от деревьев и их "родных" структур данных) один контейнер лучше другого по каким-либо параметрам. Векторы являются неэффективными для...
C++ простые числа от 1 до 10000 Написать программу, которая выводит на экран все простые числа в диапазоне от 1 до 10000 и находит их количество. подробнее

Показать сообщение отдельно
ValeryS
Модератор
6405 / 4871 / 447
Регистрация: 14.02.2011
Сообщений: 16,168
05.01.2013, 10:45     Как сделать "Старт", "Пауза", Стоп"?
Цитата Сообщение от kravam Посмотреть сообщение
Речь шла о SetTimer если чё
SetTimer в консоли это виндовая прилуда и зачем её пихать в консоль(хотя можно) не понимаю.

Цитата Сообщение от kravam Посмотреть сообщение
И куда этот цикл ты намерен запихать?
я тебе показал в Маин

Цитата Сообщение от kravam Посмотреть сообщение
Ибо выполнение этого цикла будет привязано к приёму сообщений.
ну и ?
Цитата Сообщение от kravam Посмотреть сообщение
Нет сообщений- цикл не работает,
а система при установке таймера сообщения не будет слать ??
да и про какой цикл речь ? цикл обработки сообщений?
Цитата Сообщение от kravam Посмотреть сообщение
вот реализация твоей идеи.
Ни надо мне чужой славы.
Хотя метод и имеет место быть ( да и используется, чаще в играх), я про него не говорил

Цитата Сообщение от kravam Посмотреть сообщение
if (!GetMessage (&msg,NULL,0,0))
Цитата Сообщение от kravam Посмотреть сообщение
Но это по меньшей мере непрофессионально.
разумеется не профессионально и не надо мне это приписывать
нормальные люди используют PeekMessage
http://vsokovikov.narod.ru/New_MSDN_...eekmessage.htm
которая не ждет сообщений
вот например как решили эту проблему в quake2 ребята из Id Software
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
/* main window message loop */
    while (1)
    {
        // if at a full screen console, don't update unless needed
        if (Minimized || (dedicated && dedicated->value) )
        {
            Sleep (1);
        }
 
        while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
        {
            if (!GetMessage (&msg, NULL, 0, 0))
                Com_Quit ();
            sys_msg_time = msg.time;
            TranslateMessage (&msg);
            DispatchMessage (&msg);
        }
 
        do
        {
            newtime = Sys_Milliseconds ();
            time = newtime - oldtime;
        } while (time < 1);
//          Con_Printf ("time:%5.2f - %5.2f = %5.2f\n", newtime, oldtime, time);
 
        //  _controlfp( ~( _EM_ZERODIVIDE /*| _EM_INVALID*/ ), _MCW_EM );
        _controlfp( _PC_24, _MCW_PC );
        Qcommon_Frame (time);
 
        oldtime = newtime;
    }
или это тоже непрофессионалы?

итак я привел тебе два типа решения без дополнительного потока
с таймером Win32
без таймера в консоли
и третий ты сам указал в главном цикле WinMain

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