Function DE Version 12.11

@GetHexDump

System

Syntax

@GetHexDump(VAR);
@GetHexDump(VAR;FNOPTIONS1);
@GetHexDump(VAR;FNOPTIONS1;TEXTRETTYPE2);

Beschreibung

@GetHexDump gibt den Inhalt der Varibale VAR als Hex-Dump zurück.
VAR darf jeden Typs sein, mit Ausnahme von HUGE-Datentypen*.

*HUGE-Datentypen (siehe @GetDataType):
VHUGEHUGEITEM      HI
VHUGERTCOMPONENTS      RC
VHUGEHUGERT         HR
VHUGEVIEWMAPLAYOUT   VML
VHUGEVIEWFORMAT      VF
VHUGEVIEWMAPDATATYP   VMD
VHUGEIDLIST         IL
VHUGEUNIDLIST      HUL
VHUGETEXTLIST      HTL
VHUGEIIDLIST      IIL
VHUGERFC822         HRF8
VHUGEMIMEPART      HMP

FN FNOPTIONS1:
Option      Hex   Dec   Kommentar
HEXDUMP_OPT_ADDRESS   0001*   00001*   Gibt in jeder Zeile vor den Hex-Werten die relative Addresse an.
HEXDUMP_OPT_ASCII   0002*   00002*   Gibt in jeder Zeile nach den Hex-Werten die anzeigbaren Zeichen aus.
HEXDUMP_OPT_STREAM   0004   00004   Stream-Modus. Im Stream-Modus werden die Hex-Werte nicht Zeilenweise, sondern alle hintereinander ausgegeben. Die Optionen 1 & 2 werden im Stream-Modus ignoriert!
HEXDUMP_OPT_STREAM_COMPRESS   0008   00008   Diese Stream-Modus-Option (ist im Zeilenweisen Modus nicht verfügbar) lässt die Spaces zwischen den Hex-Werten weg.
*=default
Bitvektor, um mehrere Optionen zu kombinieren, müssen die Werte addiert werden.

TEXT TEXTRETTYPE2:
A = TEXT
B = BINBUFFER (default)

Return:
Einen Handle auf den allokierten Binär-Puffer vom Datentyp BINBUFFER, ein TEXT oder @Error.
Wird ein BINBUFFER zurück gegeben, liegt die aktuelle Position in diesem BINBUFFER hinter dem eigentlich Ausgabe-Text.
Der BINBUFFER wird gundsätzlich einige Bytes größer angelegt, als der eigentliche Text erfordern würde.


Beispiel: @GetHexDump(VAR)

Var:="123456789012345678";
HexDumpBinBuffer:=@GetHexDump(Var);
HexDumpBinBuffer:=@DestroyBuffer(HexDumpBinBuffer);

Es wid die TEXT Variable Var in einen BINBUFFER HexDumpBinBuffer als Dump ausgegeben.
Der BINBUFFER wird anschließend wieder freigegeben.

Beispiel: @GetHexDump(VAR;FNOPTIONS1)

Var:="123456789012345678";
Options:=4;
HexDumpBinBuffer:=@GetHexDump(Var;Options);
@LogReport(HexDumpBinBuffer;3);
HexDumpBinBuffer:=@DestroyBuffer(HexDumpBinBuffer);

Es wid die TEXT Variable Var in einen BINBUFFER HexDumpBinBuffer als Stream-Dump ausgegeben.
Der Inhalt des BINBUFFER HexDumpBinBuffer wird ins APILOG ausgegeben und anschließend wird der BINBUFFER HexDumpBinBuffer wieder freigegeben.

Beispiel-Ausgabe im APILOG:
Buffer:000002A59E1C242C Position:00000035 AllocSize:86 UsedSize:53
   00000000 33 31 20 33 32 20 33 33 20 33 34 20 33 35 20 33 36 20 33 37 31 32 33 34 35 36 37
   00000014 20 33 38 20 33 39 20 33 30 20 33 31 20 33 32 20 33 33 20 33 38 39 30 31 32 33 3
   00000028 34 20 33 35 20 33 36 20 33 37 20 33 38 4 35 36 37 38

Beispiel: @GetHexDump(VAR;FNOPTIONS1;TEXTRETTYPE2)

Var:="123456789012345678";
Options:=12;
RetType:="A";
RetHexText:=@GetHexDump(Var;Options;RetType);
@LogReport(RetHexText;3);

Es wid die TEXT Variable Var als Stream-Dump ohne Leerzeichen der TEXT Variable RetHexText zugewiesen.
Der TEXT RetHexText wird im APILOG ausgegeben.

Beispiel-Ausgabe im APILOG:
313233343536373839303132333435363738