GetHexaString - metoda objektu PmBuffer
Syntaxe:
String GetHexaString([Long nOffset], [Long nSize], [Long nAttr])
Parametry:
nOffset | [nepovinné] (Long) Určuje pozici čtené hodnoty v datovém bloku.
Platí, že celá čtená hodnota musí ležet uvnitř datového bloku. Položka se vyčte buď celá nebo vůbec.
Přednastaveno: 0.
>= 0 - Index (v bajtech, indexováno od 0) v datovém bloku.
-4 - Použije se vnitřní automatická pozice (viz vlastnost AutoOffset), která ukazuje za poslední čtenou nebo zapisovanou hodnotu.
Tato operace posune vnitřní automatickou pozici za čtenou/zapisovanou hodnotu.
Pokud se položky čtou/zapisují jedna za druhou, pak není potřeba ručně určovat pozici, ale je lepší použít toto automatické pozicování. |
nSize | [nepovinné] (Long) Velikost čteného datového bloku.
Hodnota -1 (přednastaveno) znamená, že se vyčte datový blok od zadané pozice do konce. |
nAttr | [nepovinné] (Long) Určuje, jak bude HexaString vygenerován.
0 (přednastaveno) - Hexa znaky budou malé (lowercase).
1 - Hexa znaky budou velké (uppercase). |
---|
Poznámka:
Tato metoda je funkční i ve
Web obrazech.
HexaString (textový řetězec v hexadecimálním tvaru) lze používat dvojím způsobem:
1) Zobrazení čísla v hexadecimálním tvaru, kde vyšší řády jsou vlevo. To odpovídá uložení v paměti
Big-endian.
Jedná se o konverze hodnoty čísla do textového řetězce (a obráceně) pomocí formátovacího řetězce.
Pro využití
HexaString tímto způsobem se doporučuje používat objekt
PmFormat.
2) Kódování obsahu části paměti o určité velikosti (např. 1B, 2B, 4B …) v hexadecimálním tvaru. Potom záleží na způsobu uložení čísla v paměti.
Na procesorech
Intel a
AMD (architektura
x86 nebo
x64) se používá tzv.
Little-endian, kde nižší řády jsou vlevo.
Pro využití
HexaString tímto způsobem se doporučuje používat výhradně objekt
PmBuffer, který umí pracovat s
Little-endian i
Big-endian.
Příklad:
Vytvoření datového bloku, postupný zápis celočíselné 4, 2 a 1-bajtové hodnoty (celkem 7 bajtů), a nakonec čtení obsahu celého datového bloku v podobě
HexaString.
Opačný příklad viz metoda
SetHexaString.
JavaScriptVyber a zkopíruj do schránky
var b = Pm.CreatePmBuffer();
b.SetInt32(-2, 0x10203040);
b.SetInt16(-2, 0x5060);
b.SetUint8(-2, 0x70);
var s = b.GetHexaString();
// Výsledkem bude HexaString "40302010605070"