[gelöst] if Tastaturabfrage



  • Hallo liebe CPPler,

    ich habe das Thema schon mehrmals - d.h in verschiedenen Arten 😉 - gegooglet und auch hier die Forensuchen benutzt, doch nicht so richtig gefunden was ich will.

    Ich habe von kbhit() gehört, doch da sagt mein Compiler (Dev-C++),dass es das nicht gibt.

    Dann hab ich was von GetAsyncKeyState gelesen und weiß nicht so recht wie ich das in eine if-Anweisung einbauen soll.

    Ich hätte es jetzt so versucht:

    if (GetAsyncKeyState==VK_Space)
                   {
                          cout<<"Leertaste."<<endl;
                   }
    

    Aber wenn ich dann Leertaste drücke, passiert nichts.
    Info:

    Ich habe vorher kein cin.get benutzt oder sonstiges, ich will nämlich ,dass das Programm zu jeder Zeit "Leertaste." in der Konsolenanwendung ausgibt, wenn ich die Leertaste drücken.

    Ich hoffe man kann helfen,
    MfG

    _________________________
    Windows 7
    Dev-CPP
    Windows-Konsolenanwendung
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯



  • Sry, ich verstehe nicht ganz was deine Absicht ist und wo dein problem liegt, aber erkundige dich mal in irgendeiner STL Referenz, zum Beispiel http://www.cplusplus.com/reference/ nach cin.peek(), es "guckt" sich das nächste Zeichen im Stream an, lässt es aber im Stream.
    Ansonsten weiss ich nicht wie ich dir helfen könnte.

    PS: DEV C++ wird schon lange nciht mehr weiterentwickelt, guck dich dochmal nach einer anderen IDE um, um dich mal beeinflussen zu dürfen: ich benutze code:Blocks.

    lG



  • Servus under_cover,

    Entschuldigung,wenn ich mich ein wenig unverständlich ausgedrückt haben.

    Was ich will:

    * Nach gedrückter Leertaste suchen*
    -> gefunden:
    -> "Leertaste!" schreiben
    -> nicht gefunden:
    -> Weitersuchen *g
    Was nicht funktionert:

    Ich kann die Leertaste drücken wie ein verrückter, trotzdem passiert Nichts.

    Im Prinzip würde ich nur gerne wissen, wie eine Tastaturabfrage mit einer If-Anweisung verknüpft wird.

    PS: Ich habe mir gerade Code::Blocks gedownloaded ;).

    MfG



  • Versuch mal dass:
    Hoffe habe das noch richtig in erinnerung

    while(true)
    {
         if(GetAsyncKeyState(VK_SPACE))
          {
              cout<<"Leertaste"<<endl;
              break;
          }
          else
          {
             cout<<"Nichts gefunden"<<endl;
             Sleep(50);
          }
    }
    


  • Nabend Matyr,

    Danke dir es klappt !

    Aber ich habe die else-Funktion mal weggelassen, es soll ja kein Spam-Programm werden ;).

    MfG


Log in to reply