Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 252068 (13504)
  Suchen
 Zurück zur Übersicht
 AutorThema: Auslesen von Teilen einer Variable (HiWord und LoWord)
Stefan Schnell
Datum:02.10.02 10:05 Antwortenals Email verschicken (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



Frank Abbing
Datum:02.10.02 11:38 Antwortenals Email verschicken  


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


Stefan Schnell
Datum: 02.10.02 12:53 Antwortenals Email verschicken (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



 Zurück zur Übersicht