![]() |
Re: Postmessage(Handle,WM_RBUTTONDOWN,0,0) an falscher posit
Zitat:
Zitat:
Die beiden Koordinaten müssen in EINEN Parameter, wozu der andere gebraucht wird, weiß ich nicht. der Parameter ist vom Typ Integer, hat also 32 Bit. Dann nimmt man also 2 Words (16 Bit), einen für jede Koordinate, z.B.:
Code:
Wenn man diese jetzt zusammenaddieren würde, wüsste man nachher nichtmehr, welche Koordinaten welchen Wert hatte. Aber der Integer hat ja 32 Bits, jedes Word 16, also bekommt einfach jede Koordinate die Hälfte des Integers. Dazu fügt man in den Integer mit 32 Bits erstmal eine Koordinate ein:
X: 0001100100111001
Y: 0011011000011100
Code:
Mittels shl 16 werden dann alle Bits um 16 nach links verschoben, dannach wird die 2. Koordinate eingefügt:
Integer: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X rein: XXXXXXXXXXXXXXXX0001100100111001
Code:
So hat man nun ZWEI Werte in EINER Variablen, indem jeder Wert die Hälfte der Bits bekommt, und man kann die Werte nachher wieder unterscheiden.
nach shl 16: 0001100100111001XXXXXXXXXXXXXXXX
Y rein: 00011001001110010011011000011100 Ich hoffe, dir ist das nun etwas verständlich geworden ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz