Tastatur abfrage



  • Hallo ich habe gerade mal etwas gegoogelt und fand das hier:

    #include <windows.h>
    #include <iostream.h>
    
    int main()
    {
      SHORT KeyState;
      SHORT ArrKeyState[256];
    
      while (1)
      {
    
        for (int i = 0; i < 256; i++)
        {
          KeyState = GetAsyncKeyState(i);
          ArrKeyState[i] = KeyState;
        }
    
          for (int i = 0; i < 256; i++)
          {
            // -32767 = KeyDown
            if (ArrKeyState[i] == -32767)
              cout << "Key " << i << " pressed. (" << (char) i << ")" << endl;
          }
      } 
    
    }
    

    Nun meine Frage wofür muss man da erst so schleifen und alles machen nur um ein paar tasten abzufragen?

    Oder gibt es da auch noch einen weniger komplizierte alternative ?

    Weil wofür man da jetzt die schleifen brauch nur um die tasten abzufragen sagt mir gerade mal so gar nichts ...



  • Das ist veraltet (iostream.h)! Nimm halt getch her! 😃



  • roflcopter schrieb:

    Nun meine Frage wofür muss man da erst so schleifen und alles machen nur um ein paar tasten abzufragen?
    Oder gibt es da auch noch einen weniger komplizierte alternative ?

    Nein, du kannst auch ohne Schleifen die Tasten abfragen, einmal.
    Dann rauscht dein Programm durch und ist beendet.

    roflcopter schrieb:

    Weil wofür man da jetzt die schleifen brauch nur um die tasten abzufragen sagt mir gerade mal so gar nichts ...

    Mir scheint, du weiß nicht wozu du überhaupt Tasten abfragen sollst. 😃



  • Nun meine Frage wofür muss man da erst so schleifen und alles machen nur um ein paar tasten abzufragen?

    Die For-Schleife wird gesetzt, um alle Tasten abzufragen, wenn eine von 1-255 gefunden wurde, gibt er aus welche dieser 255-Tasten. Die while-Schleife wird
    gestartet, um die Abfrage immer wieder abzufangen und neu zu setzen.

    Oder gibt es da auch noch einen weniger komplizierte alternative ?

    Etwas genauer?

    Weil wofür man da jetzt die schleifen brauch nur um die tasten abzufragen sagt mir gerade mal so gar nichts ...

    Mit "diesen ganzen Schleifen" fragt man die Tasten immer und immer wieder ab. Wie gesagt! Würdest du die while-Schleife beispielsweise weglassen, würde die Abfrage nicht unendlich lang laufen! Wenn die for-Schleife weg währe, wüste das Programm nicht, welche Tasten alle durchlaufen werden sollen.


Anmelden zum Antworten