Promotic

GetHexaString - metoda objektu PmBuffer

Popis:
Čtení datového bloku v podobě HexaString.
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. 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) Zakó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.
Viz také:
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"

Historie:
Pm9.00.05: Nový parametr nAttr pro upřesnění, jak má vypadat vygenerovaný HexaString.
Pm9.00.04: Vytvořeno
© MICROSYS, spol. s r.o.