auf bestimmte tasten reagieren (C++)
Hey Leute, kann mir bitte irgendjemand sagen bzw. erklären, wie man bei C++ ein Programm schreibt, dass z.b. auf Pfeiltasten reagiert. Ich hab mir das in etwa so vorgestellt:
int main() { getkey('pfeil rechts') }
3 Antworten
Wenn du das programmieren lernen möchtest, hole dir doch bitte ein Buch und fang an dich mit dem Thema zu beschäftigen. Solltest du dann hin und wieder Fragen haben, würde ich meine Fragen auf www.stackoverflow.com stellen und nicht in einem Forum das sich nicht komplett auf Programmierung fokusiert
Hallo!
Es ist jetzt nur ein Beispiel und kann je nach Anwendungsbereich zugeschnitten werden. Ich hoffe es hilft dir weiter.
#include <stdio.h>
#include <conio.h>
#include <windows.h>
// Die Elemente im Enum koennen je nach Vorhaben zum Abgleich genutzte werden.
enum PfeilTaste {Basis = -32, Auf = 72, Ab = 80, Links = 75, Rechts = 77};
// conio.h notwendig
// Bei dieser Methode wird immer der Tastenwert in key gespeichert.
// Nur wenn eine Pfeiltaste gedrueckt wurde, ist der Funktionsrueckgabewert 1.
bool getkeyI(char* key)
{
*key = getch();
if(*key == Basis ){ // hier kann man auch direkt auf -32 pruefen
*key = getch();
return true;
} return false;
}
// windows.h notwendig
// Diese Methode registriert auch Tastatureingaben, aul3erhalb des Programms.
// Die GetAsyncKeyState-Funktion meldet, ob die angegebene Taste
// (nicht)- / gedrueckt wurde oder gerade gedrueckt wird.
// <a href="http://msdn.microsoft.com/en-us/library/ms927178.aspx">http://msdn.microsoft.com/en-us/library/ms927178.aspx</a>
char getkeyII()
{
if(GetAsyncKeyState(VK_UP )) return 'u';
if(GetAsyncKeyState(VK_DOWN )) return 'd';
if(GetAsyncKeyState(VK_LEFT )) return 'l';
if(GetAsyncKeyState(VK_RIGHT)) return 'r';
return '_';
}
int main()
{
char Key;
while(true)
{//stdio.h nur fuer printf
//printf("%d%d:", getkey(&Key), Key); // Testausgabe Methode 1
//printf("<%c>", getkeyII()); // Testausgabe Methode 2
Sleep(500);// 500 Millisekunden warten (windows.h notwendig)
}
return 0;
}
Beschäftige dich mit GUIs. Diese empfangen während der aktiven Laufzeit sog. Events, darunter auch Tastendrücke, welche du in eigens definierten Funktionen verarbeiten kannst.