[API] DWord

31/10/2011 - 20:24 von Heinz-Mario Frühbeis | Report spam
Hallo!

Public Function DWord(ByVal nLow As Integer, ByVal nHigh As Integer) As Long
Dim sLow As String
Dim sHigh As String

sLow = String$(4 - Len(Hex$(nLow)), "0") & Hex$(nLow)
sHigh = String$(4 - Len(Hex$(nHigh)), "0") & Hex$(nHigh)

DWord = CLng("&H" & sLow & sHigh)
End Function

Wie bekommt man denn 2 Long-Werte als DWord hin?

Mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Stefan Reuther
31/10/2011 - 22:44 | Warnen spam
Heinz-Mario Frühbeis wrote:
Public Function DWord(ByVal nLow As Integer, ByVal nHigh As Integer) As
Long
Dim sLow As String
Dim sHigh As String

sLow = String$(4 - Len(Hex$(nLow)), "0") & Hex$(nLow)
sHigh = String$(4 - Len(Hex$(nHigh)), "0") & Hex$(nHigh)

DWord = CLng("&H" & sLow & sHigh)
End Function



Sicher, dass du den Low-Teil vorne hinpacken willst?

Modulo Syntaxfehler empfehle ich eher sowas wie
DWord = ((nHigh*65536) AND &HFFFF0000) + (nLow AND &HFFFF)
(ich hoffe mal, die 'AND' maskieren korrekt die Vorzeichenbits weg; ich
habe seit Ewigkeiten kein BASIC mehr gemacht)

Wie bekommt man denn 2 Long-Werte als DWord hin?



Im Normalfall gar nicht, weil ein DWord ja auch nur ein Long ist, und da
nicht zweie davon reinpassen. Wofür würde das denn benötigt?


Stefan

Ähnliche fragen