Pfeiltasten und ESC Taste auslesen
-
Ich wollte nur ein Programm schreiben, welches ich mit Escape beenden kann und bei Pfeiltasten jeweils "Pfeiltaste hoch/unten..." ausgibt.
1. Wieso funktioniert die Escape Taste nicht, obwohl der ASCII Code 27 stimmt?
2. Kann mir jemand das mit den Sondertasten erklären, die nicht in der ASCII Tabelle enthalten sind? Die If Abfrage der '0' hab ich reingenommen, weil bei den Sonderzeichen ja angeblich vor der Eigentlichen Dezimalzahl eine ACSII 0 steht.#include <conio.h> #include <stdio.h> #include <iostream.h> main(){ char Taste; int i; i=1; while(i==1){ if(kbhit()){ Taste=getch(); cout << Taste; if(Taste == '0'){ cout <<"Sondertaste"; Taste=getch(); switch(Taste){ case '72': cout << "Pfeil nach oben"; break; case '80': cout << "Pfeil nach unten"; break; }} switch(Taste){ case '48': cout << "bla"; break; case '49': cout << "bli"; break; case '27': cout << "exit";i=0; break; } } } }
-
Wenn der Code 27 ist, musst du auch auf 27 und nicht auf '27' prüfen!
MfG SideWinder
-
SideWinder schrieb:
Wenn der Code 27 ist, musst du auch auf 27 und nicht auf '27' prüfen!
MfG SideWinder

Super, da kauft man sich ein c++ Buch und da steht alles Falsch drin. Da hab ich nämlich das mit den '' her.Danke für die schnelle und alles auflösende Antwort SideWinder.

Bloß in meinem Programm ist die Pfeiltaste hoch identisch mit dem 'H'. Kann man die irgentwie unterscheiden?
-
Ja, bei Sondertasten kommt zuerst eine 0 und dann erst der Code. Beim 'H' kommt sofort der Code. Deswegen hast du ja das if

MfG SideWinder