Tastencodes
-
Hallo,
im FAQ steht ein Bericht über das Auslesen von Sondertasten, in dem
auf eine Seite für Pascal hingewiesen wird.Um die Cursortasten abzufangen habe ich daraufhin folgenden code
geschrieben:for(;;) { if(getch()==0) { if(getch()==72) cout << "hoch"; else if(getch()==80) cout << "runter"; else if(getch()==75) cout << "links"; else if(getch()==77) cout << "rechts"; else cout << "keine Cursortaste, sondern Funktionstaste"; } else { cout << "keine Cursortaste"; break; } }
Doch leider zeigt er immer an, dass er keine Cursortaste empfangen
hat. Wieso? Was ist falsch an diesem Code?Tschau Gartenzwerg
-
du musst noch ein getch davor setzen, es gibt bei den tasten zwei werte...(224)
den ersten bis return musst du abfangen, dann kommt die 72#include<stdio.h> #include<conio.h> #include <ctype.h> #include <string.h> 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; }
[ Dieser Beitrag wurde am 14.07.2002 um 11:35 Uhr von elise editiert. ]
-
Danke schön.
Tschau Gartenzwerg