Tastaturabfrage file oben/unten/rechts/links Konsolenprogrammierung unter C
-
kann jemand mir dabei helfen ?. Ich benutze getch() bei einer Eingabe eines Zeichens und möchte so gerne die Tastatur abfragen ob gerade mal die "File"-Taste oben/unten/rechts/links gedrückt ist.
Nach Eingabe von allen 4 "file"-Tasten habe ich im Buffer bei mir immer dasselbe und zwar '\0'... also kein Unterschied.
Bitte um Antwort. Danke
-
File-Tasten? Meinst du am Ende die Pfeiltasten? -> Siehe Konsolen-FAQ oder die F-Tasten (kA ob die File-Tasten heißen) -> Siehe Konsolen-FAQ.
MfG SideWinder
-
int main(){ unsigned char chr; do { chr=getch(); printf("%i",chr); if ((chr==224) || (chr==0)) { chr=getch(); printf("%i",chr); switch(chr) { case 13: printf("go"); break; case 75: printf("<-"); break; case 77: printf("->"); break; case 83: printf("ENTF"); break; case 82: printf("EINF"); break; case 80: printf("pfeil nach unten"); break; case 79: printf("ENDE"); break; case 72: printf("pfeil nach oben"); break; } } }while(true); return 0; }
-
Danke elise, das hat geklappt...aber ich verstehe nicht warum man getch() 2 mal aufrufen muss ?
warum erhält die Variable chr den richtigen wert nur beim 2ten mal ?Vielen Dank
-
Du SideWinder, ich bin relativ neu bei cPlusPlus. wo finde ich Konsolen-FAQ ?? (ich hoffe das ist keine peinliche Frage )
-
das faq findest du auf der eingangseite zum forum im unteren bereich.
zweimal getch() weil die pfeil und anderen sondertasten aus zwei werten bestehen:
224
und als zweites der eigentliche wert, 72, 78 ...
-
@elise, vielen vielen Dank und frohe Weihnachten.
-
gibt es eine tabelle, wo ich die werte alle einsehen kann für die zweite rückgabe??? hab leider nichts gefunden in der richtung.
-
hallo
dann muss ich dir unterstellen, daß du nicht richtig geschaut hast
im konsolenfaq, passender beitrag und dann auch mal den links folgen:
http://www.c-plusplus.net/forum/viewtopic.php?t=39324so long