Ich möchte in C++ einen Befehl schreiben der wenn der Benutzer Numpad0 drückt, etwas ausgeführt wird. Wie heisst der Befehl dafür? Und braucht man dafür noch welche Include´s?
Wenn die taste gedrückt worden ist, wird ja 1 wiedergegeben.
Nö.
Siehe MSDN:
Quote:
If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState.
Da man keinen direkten Zugirff auf einzelne Bits hat, sondern immer nur auf eine bestimmte Anzahl gleichzeitig (vgl. Byte, Word, DWord, QWord), bedient man sich der Bit-Operatoren, um zu prüfen, welche Bits gesetzt sind und welche nicht.
Bit-Operatoren Siehe:
Nun ist das ganze auch kein Geheimnis mehr. Will man prüfen, ob das niedrigste Bit gesetzt ist, also das Bit an der Stelle 0, nimmt man den AND-Operator:
Code:
Wenn niedrigstes Bit gesetzt:
11001001 00010001 //Rückgabewert von GetAsyncKeyState [sizeof(short) = 16bit]
00000000 00000001 // (2^0)= 1 in dualer Schreibweise
-------------------
00000000 00000001 //Ergebnis nach der AND-Operation (=1)
Wenn niedrigstes Bit nicht gesetzt:
11001001 00010000 //Rückgabewert von GetAsyncKeyState
00000000 00000001 // (2^0)=1 in dualer Schreibweise
-------------------
00000000 00000000 //Ergebnis nach der AND-Operation (=0)
Keine Ahnung, was genau intern passiert, wenn du eine Taste drückst. Da werden wahrscheinlich auch iwelche Bits gesetzt, verschickt, etc.
Für dich wichtig ist einfach nur, dass GetAsyncKeyState() eine Variable vom Typ "short" zurückgibt. Eine Variable vom Typ short ist 16bit lang, entspricht also einem WORD = 2Byte. Laut MSDN repräsentiert das niedrigste Bit, ob die Taste nach dem letzten Aufruf von GetAsyncKeyState() gedrückt wurde oder nicht. Da du aber nur auf die 16bit insgesamt Zugriff hast und nicht auf das einzelne Bit des Rückgabewerts, nimmst du eine AND-Maske, um das niedrigste Bit herauszufiltern. Das niedrigste Bit ist an der Stelle 0, d.h. du musst mit dem Wert 2^0 = 1 = 0000000000000001 vergleichen. Mehr steckt da nicht dahinter.
[Hilfe]Ungelöstes Server Erstell Problem, ausführliche Problem Schilderung 09/15/2011 - Flyff Private Server - 8 Replies Hey Com!
Ich hoffe, dass dieser Thread nicht als Spamthread angesehen wird, da ich ja gestern schon einen zu diesem Thema eröffnet habe.
Sorry wenn ich euch mit dem Thema nerve, aber ich sitze nun schon 4 Tage über dem Problem, und finde einfach keine Lösung.
Nun werde ich hier allerdings eine ausführlichere Beschreibung des Problems geben.
Mein Problem ist, dass ich den Windows Mssql Server 2008/2005 aus Sedrika's TuT nicht installieren kann, da sobald ich ihn immer installiere...