Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Czas trzymania przycisku

Ostatnio zmodyfikowano 2013-03-11 00:48
Autor Wiadomość
Tivx
Temat założony przez niniejszego użytkownika
Czas trzymania przycisku
» 2013-03-09 18:41:13
Jestem nowy, jak mam dać kod w tagi syntax?
C/C++
#include <iostream>
#include <conio.h>
int main()
{
    unsigned char znak;
    std::cout << "klawisz [ESC] wychodzi z programu." << std::endl;
    do
    {
        znak = getch();
        if( znak == 'a' ) {
            std::cout << "w lewo! Przycisk trzymales przez (tu chce liczbe) Milisekund!";
        }
        if( znak == 'w' ) {
            std::cout << "W gorę! Przycisk trzymales przez (tu chce liczbe) Milisekund!";
        }
        if( znak == 's' ) {
            std::cout << "w doł! Przycisk trzymales przez (tu chce liczbe) Milisekund!";
        }
        if( znak == 'd' ) {
            std::cout << "W prawo! Przycisk trzymales przez (tu chce liczbe) Milisekund!";
        }
       
    } while( znak != 27 ); //ESC
   
    return( 0 );
}

Jak mam zmierzyc czas, przez jaki, użytkownik trzymał klawisz np.a
tzn. naciskam a i trzymam go przez 2 sekundy i potem puszczam, i chce ten czas (2sekundy) zmierzyc przez program
P-77996
pekfos
» 2013-03-09 18:53:21
Z użyciem getch nie da się tego zrobić.
P-77998
Tivx
Temat założony przez niniejszego użytkownika
» 2013-03-09 18:55:27
To jak mam to zrobic?
P-77999
pekfos
» 2013-03-09 19:00:26
Pobieraj znak asynchronicznie lub użyj funkcji rozróżniającej wciśnięcie do zwolnienia klawisza. Odpowiednie funkcje znajdziesz m.in w WinAPI.

Jeśli znasz angielski i Google, to te informacje Ci wystarczą.
P-78001
Tivx
Temat założony przez niniejszego użytkownika
» 2013-03-09 19:10:37
Hm, w przypadku funkcji naciskającej klawisz musze zacząc liczyc czas i liczyć go do funkcji zwolnienia klawisza tylko jak te funkcje sie nazywają, a program jest konsolowy bez winapi.
" funkcji rozrózniającej wciśnięcie do zwolnienia klawisza " Jakie to przykladowe funkcje?
P-78004
ziajek444
» 2013-03-09 19:15:13
Pokombinuj z pentlami, nie musisz się uczyć jakiś tam winapi, Najprostsze sposoby są najlepsze. A i użyj jeszcze funkcji kbhit(). Na pewno dasz rade, a jak nie to spróbuje ci napisać ten kod jutro
P-78006
pekfos
» 2013-03-09 19:38:04
W ten sposób nie uzyska milisekundowej dokładności.
P-78008
ziajek444
» 2013-03-09 19:55:45
<windows.h>
Sleep(1); //jedna milisekunda
albo szybciej
<conio.h>
delay(1);
P-78011
« 1 » 2
  Strona 1 z 2 Następna strona