Function DE Version 12.11

@HexDumpToBin

System

Syntax

@HexDumpToBin(VAR1);
@HexDumpToBin(VAR1;TEXTRETTYPE2);

Beschreibung

@HexDumpToBin wandelt den Hex-Stream-Dump in TEXT/BINBUFFER VAR1 in einen binären Buffer um.
Whitespace wird dabei ignoriert!
Über TEXT TEXTRETTYPE2 kann bestimmt werden, ob die zurück gegebenen Binärdaten als RT oder als BINBUFFER zurück geliefert werden.

TEXT TEXTRETTYPE2:
RT = RICHTEXT
B = BINBUFFER (default)


Beispiel: @HexDumpToBin(VAR1)

Var:="123456789012345678";
HexDumpBinBuffer:=@GetHexDump(Var;12);
BinaryBinBuffer:=@HexDumpToBin(HexDumpBinBuffer);
HexDumpBinBuffer:=@DestroyBuffer(HexDumpBinBuffer);
@GetBufferInfo(BinaryBinBuffer;BinaryBinBufferUsedSize);
@SetPosBuffer(BinaryBinBuffer;0;"S");
OriginalText:=@ReadBuffer(BinaryBinBuffer;"A";BinaryBinBufferUsedSize);
BinaryBinBuffer:=@DestroyBuffer(BinaryBinBuffer);
@LogReport(OriginalText;3);

Es wid die TEXT Variable Var in einen BINBUFFER HexDumpBinBuffer als Stream-Dump ohne Leerzeichen ausgegeben.
Anschließend wird dieser Stream-Hex-Dump wieder in binäre Daten umgewandelt und dem BINBUFFER BinaryBinBuffer zugewiesen.
Es wird ermittelt, wievile Bytes diese Binärdaten umfassen und anschließend wird die Position im BINBUFFER BinaryBinBuffer auf 0 gesetzt.
Die Binärdaten werden gelesen und als TEXT der Variable OriginalText zugewiesen und dieser TEXT wird im APILOG ausgegeben.
Die BINBUFFER HexDumpBinBuffer und BinaryBinBuffer werden jeweils freigegeben, sobald sie nicht mehr benötigt werden.

Beispiel-Ausgabe im APIOG:
123456789012345678

Beispiel: @HexDumpToBin(VAR1;TEXTRETTYPE2)

Var:="123456789012345678";
RetDataType:="RT";
HexDumpBinBuffer:=@GetHexDump(Var;12);
BinaryRT:=@HexDumpToBin(HexDumpBinBuffer;RetDataType);
HexDumpBinBuffer:=@DestroyBuffer(HexDumpBinBuffer);
@LogReport(BinaryRT;3);

Es wid die TEXT Variable Var in einen BINBUFFER HexDumpBinBuffer als Stream-Dump ohne Leerzeichen ausgegeben.
Anschließend wird dieser Stream-Hex-Dump wieder in binäre Daten umgewandelt und als RT der Variable BinaryRT zugewiesen.
Der BINBUFFER HexDumpBinBuffer wird freigegeben und der Inhalt der RT Variable BinaryRT wird im APILOG ausgegeben.

Beispiel-Ausgabe im APIOG:
L:0012 L:18
   0000 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 123456789012345678