Czas trzymania przycisku
Ostatnio zmodyfikowano 2013-03-11 00:48
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? #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 ); 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 |
|
pekfos |
» 2013-03-09 18:53:21 Z użyciem getch nie da się tego zrobić. |
|
Tivx Temat założony przez niniejszego użytkownika |
» 2013-03-09 18:55:27 To jak mam to zrobic? |
|
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ą. |
|
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? |
|
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 |
|
pekfos |
» 2013-03-09 19:38:04 W ten sposób nie uzyska milisekundowej dokładności. |
|
ziajek444 |
» 2013-03-09 19:55:45 <windows.h> Sleep(1); //jedna milisekunda albo szybciej <conio.h> delay(1); |
|
« 1 » 2 |