GetHexaString - metoda obiektu PmBuffer
Składnia:
String GetHexaString([Long nOffset], [Long nSize], [Long nAttr])
Parametry:
nOffset | [opcjonalne] (Long) Określa pozycję odczytywanej wartości w bloku danych.
Cała odczytywana wartość musi znajdować się w bloku danych. Pozycja zostanie odczytana albo w całości lub wogóle.
Domyślnie: 0.
>= 0 - Indeks (w bajtach, indeksowane od 0) w bloku danych.
-4 - Zostanie zastosowana wewnętrzna automatyczna pozycja (patrz właściwość AutoOffset), która wskazuje ostatnią odczytywaną lub zapisywaną wartość.
Operacja ta przesunie wewnętrzną automatyczną pozycję za odczytywaną/zapisywaną wartość.
Jeżeli pozycje są odczytywane/zapisywane po kolei za sobą, wtedy nie trzeba ręcznie określać pozycję, ale jest lepiej zastosować automatyczne pozycjonowanie. |
nSize | [opcjonalne] (Long) Wielkość odczytywanego bloku danych.
Wartość -1 (domyślnie) oznacza, że zostanie odczytany blok danych od określonej pozycji do końca. |
nAttr | [opcjonalne] (Long) Określa, w jaki sposób zostanie wygenerowany HexaString.
0 (domyślnie) - Znaki hexa będą małe (lowercase).
1 - Znaki hexa będą duże (uppercase). |
---|
Notatka:
Metoda ta działa także w
Web panelach.
HexaString (łańcuch tekstowy w układzie szesnastkowym) może być użyty na dwa sposoby:
1) Wyświetlenie liczb w układzie szesnastkowym, gdzie wyższe rzędy znajdują się po lewej stronie. Odpowiada to przechowywaniu w pamięci
Big-endian.
Chodzi o konwersję wartości liczbowej do łańcucha tekstowego (i odwrotnie) przy pomocy łańcucha formatowania.
Do zastosowania
HexaString w ten sposób jest zalecane zastosowanie obiektu
PmFormat.
2) Kodowanie zawartości sekcji pamięci o określone wielkości (np. 1B, 2B, 4B …) w układzie szesnastkowym. Następnie zależy to od tego, jak liczba jest przechowywana w pamięci.
Na procesorach
Intel i
AMD (architektura
x86 lub
x64) używana jest tzw.
Little-endian, gdzie niższe rzędy znajdują się po lewej stronie.
Do zastosowania
HexaString w ten sposób jest zalecane stosowanie wyłącznie obiektu
PmBuffer, który może obsługiwać zarówno
Little-endian jak i
Big-endian.
Przykład:
Wytworzenie bloku danych, kolejny zapis 4, 2 oraz 1-bajtowej wartości rzeczywistaj (razem 7 bajtów), a na końcu odczyt zawartości całego bloku danych w formie
HexaString.
Odwrotny przykład patrz metoda
SetHexaString.
JavaScriptWybierz oraz skopiuj do schowka
var b = Pm.CreatePmBuffer();
b.SetInt32(-2, 0x10203040);
b.SetInt16(-2, 0x5060);
b.SetUint8(-2, 0x70);
var s = b.GetHexaString();
// Wynikiem jest HexaString "40302010605070"