Diese Funktion der CAA_Memory.library extrahiert ein "ARRAY OF BYTE" in einem "ARRAY OF BOOL".
abySource[0].0 -> axDestination[0]
abySource[0].1 -> axDestination[1]
...
abySource[1].0 -> axDestination[8]
...
abySource[1].7 -> axDestination[15]
...
Diese Funktion kopiert "uiNumberOfBits" von "abySource" nach "axDestination".
Diese Funktion gibt die in einer “abySource” betrachtete Anzahl Bytes zurück.
Wenn "pabySource", „paxDestination“ oder „uiNumberOfBits“ auf "0" gesetzt sind, wird das Kopieren nicht ausgeführt und die Funktion gibt "FALSE" zurück.
Hinweis
Die Größe des Datenfelds "axDestination" muss der Anzahl zu kopierender Bits angepasst sein! Quelle und Ziel dürfen nicht überlappen!
pabySource |
DWORD |
Adresse von ARRAY OF BYTE |
paxDestination |
DWORD |
Adresse von ARRAY OF BOOL |
uiNumberOfBits |
UINT |
Anzahl zu kopierender Bits |
MEM.PackArrayOfBoolToArrayOfByte |
UINT |
Anzahl erforderlicher Bytes |
Beispiel:
abySource : ARRAY[0..2] OF BYTE := 16#32, 16#01, 16#00 ;
axDestination : ARRAY[0..9] OF BOOL ;
uiNumberofBytes := MEM.UnpackArrayOfByte(
ADR(abySource), ADR(axDestination), 10) ;
->
uiNumberofBytes = 2
axDestination[0] = FALSE
axDestination[1] = TRUE
axDestination[2] = FALSE
axDestination[3] = FALSE
axDestination[4] = TRUE
axDestination[5] = TRUE
axDestination[6] = FALSE
axDestination[7] = FALSE
axDestination[8] = TRUE
axDestination[9] = FALSE