Funktionreferenz


_WinAPI_LoWord

Beschreibung anzeigen in

Gibt das niederwertige Wort eines Longword-Wertes zurück

#include <WinAPIConv.au3>
_WinAPI_LoWord ( $iLong )

Parameter

$iLong Longword Wert

Rückgabewert

Gibt das niederwertige Wort eines Longword-Wertes zurück

Bemerkungen

Ein Wort ist normalerweise die Verarbeitungsbreite des verwendeten Prozessors in Bit. In AutoIt ist ein Wort mit 16 Bit definiert. Damit können die Zahlen von 0 bis 65535 abgebildet werden. Ein Longword (oder auch Langwort oder Doppelwort) umfasste zwei Worte, also 32 Bits (0-4294967295), wobei hier in den niederwertigen Teil (LoWord: Bits 0-15) und den höherwertigen Teil (HiWord: Bits 16-31) unterschieden wird.

Das übergebene LongWord wird als "Unsigned Long" (ohne Vorzeichen) interpretiert.
Wird der Funktion ein LongWord mit negativen Werten übergeben (der Short-Wert kann sowohl positiv als auch negativ sein), so berücksichtigt diese Funktion das nicht.
Es wird nur der entsprechende "Unsigned"-Wert zurückgegeben.
Siehe Beispiel 2 für eine Signed-Variante.

Verwandte Funktionen

_WinAPI_HiWord, _WinAPI_MakeLong

Beispiel

Beispiel 1

#include <MsgBoxConstants.au3>
#include <WinAPIConv.au3>

Example()

Func Example()
    Local $iWord = 11 * 65535
    MsgBox($MB_SYSTEMMODAL, "Dezimal: " & $iWord, "HiWord: " & _WinAPI_HiWord($iWord) & @CRLF & "LoWord: " & _WinAPI_LoWord($iWord))
EndFunc   ;==>Example

Beispiel 2

Local $iLongWord = 0xFFF8FFD6
Local $iX = _WinAPI_LoWordSigned($iLongWord)
Local $iY = _WinAPI_HiWordSigned($iLongWord)
ConsoleWrite(StringFormat('X = %i, Y = %i\r\n', $iX, $iY))

Func _WinAPI_LoWordSigned($iLong)
    Local $tLong = DllStructCreate('long XY')
    Local $tShort = DllStructCreate('short X;short Y', DllStructGetPtr($tLong))
    $tLong.XY = $iLong
    Return $tShort.X
EndFunc

Func _WinAPI_HiWordSigned($iLong)
    Local $tLong = DllStructCreate('long XY')
    Local $tShort = DllStructCreate('short X;short Y', DllStructGetPtr($tLong))
    $tLong.XY = $iLong
    Return $tShort.Y
EndFunc