Autor | Thema: Auslesen von Teilen einer Variable (HiWord und LoWord) | | Datum:02.10.02 10:05 
(mail@stschnell.de) | |
Hallo Community,
kämpfe gerade mit dem Auslesen von einer 32bit Variablen (DWORD = LongInt) als zwei 16bit Variablen (LoWORD und HiWord = Integer). Habe folgenden Ansatz aus der Hilfedatei genommen:
DECLARE Long1#, Long2#
STRUCT Long = LongInt&
STRUCT Words = HiWord%,LoWord%
DIM Long1#, Long
DIM Long2#, Words
Long1# = long2#
Long1#.LongInt& = 1233456
PRINT Long2#.HiWord%
PRINT Long2#.LoWord%
Dieser Ansatz funktioniert, jedoch stelle ich mir die Frage, ob es nicht auch noch eine andere Möglichkeit gibt?
Z. B. LongInt& >> 16 ergibt ja HiWord in LongInt&, nur wie würde eine entsprechende Umkehroperation lauten, um LoWord zu ermitteln? Hat jemand von Euch einen Ansatz?
Danke für Hinweise.
Tschüss
Stefan
|
| | Datum:02.10.02 11:38 
| |
Hallo Stefan,
eigentlich brauchst du das LongInt nur durch 65536 zu teilen, dann hast du das HiWord. Das LoWord erhälst du dann durch:
LoWord=LongInt-(HiWord*65536)
Hierbei darfst du natürlich nicht mit Floats rechnen ;-)), sondern mit LongInts.
Gruß, Frank
|
| | Datum: 02.10.02 12:53 
(mail@stschnell.de) | |
Hallo Frank,
Danke für Deinen Tip, tja, manchmal können Lösungen echt einfach sein, man muss sie nur wissen ;-)
Tschüss
Stefan
|
|
|