Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Tastatureingabe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
04.02.2007, 18:46 Uhr
Tron



@Suba Esel,

so wie ich oben geschrieben habe.
Bei GetAsyncKeyState hätte ich vielleicht zwei Satzzeichen mehr verwenden sollen.
"Dieses Bit gibt also Aufschluß ob die Taste, seit der letzten Abfrage durch die Funktion, gedrückt wurde."
Das heißt die Funktion fragt den Status der Taste ab und nicht das diese die Taste "drückt".

[qoute]Und bedeutet High - und Low - Order - Bit, dass das sozusagen eine Zahl mit zwei Stellen ist?[/qoute]
Ist jetzt nicht Dein Ernst oder?

SHORT(16 Bit Integer)( 2 Byte) - 00000000 00000000 - Binär.
High Order Bit z.B.: 10000000 00000000
Low Order Bit z.B.: 00000000 00000001

Nur als Beispiel, siehe Little / Big Endian.

Ich empfehle Dir Dich mit den Grundlagen auseinander zusetzen, ansonsten hat das keinen
Zweck!

Gruß Tron
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
04.02.2007, 19:01 Uhr
Suba Esel



Das meinte ich. Nicht die Funktion drückt die Taste, sonndern der guckt nach, ob seit dem letzten Aufruf der Funktion eine Taste gedrückt wurde und wenn ja welche.


Zitat von www.dict.leo.org:
High order position = hohe Ziffernstelle

Das hab ich als "erste Ziffer" verstanden.

Was kann ich dafür, dass ich so blöd bin
--
Simon

Dieser Post wurde am 04.02.2007 um 19:02 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
06.02.2007, 19:26 Uhr
Suba Esel



So, hab jetzt alle Probleme behoben bis auf eins:
C++:
if(GetAsyncKeyState(i)&1)

Was macht das &1 da? Ich weiß nur, dass es irgendwie dafür sorgt, dass der jeden Tastendruck nur einmal anzeigt. Wenn ich das &1 weglasse und dann Shift drücke, wird je nach Druckdauer 10-20 mal Shift angezeigt.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
09.02.2007, 09:39 Uhr
Suba Esel



Hat denn keiner ne Ahnung? Ich glaube, dass das ein bitweises UND ist, aber was das da macht.....
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
09.02.2007, 09:53 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Guck in die Hilfe was GetAsyncKeyState zurückgibt und überleg mal ein bisschen was da UND da machen könnte, dann kommst du schon drauf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
09.02.2007, 23:22 Uhr
Suba Esel



Mmmh...

Ok, also:
GetAsyncKeyState gibt laut MSDN ein short zurück.
Dies ist laut Tron sowas wie 00000000 00000000.
"1" entspricht 00000001.
&1 würde also bedeuten, dass das ganze nur dann true zurückgibt, wenn die letzte "Stelle" eine 1 ist. Dies wäre doch dann das "low - order - bit", oder? Dieses gibt zurück, ob die Taste seit dem letzten Aufruf der Funktion gedrückt worden ist. Würde das nicht im Prinzip heißen, dass dieses &1 dafür sorgt, dass nachgeguckt wird, ob in dem Sleep(5) und der übrigen Programmlaufzeit meinetwegen Shift gedrückt würde? Aber was bringt das ganze? Dann wird das ja nur ausgeführt, wenn die Taste zwischen den Funktionsaufrufen auch gedrückt wurde. Wäre das nicht ein bisschen unsinnig?

Oh mensch, kann mir nicht einfach wer sagen, was das bringt
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: