Promotic

SetHexaString - metoda obiektu PmBuffer

Opis:
Zapis bloku danych w formie HexaString.
Składnia:
Empty SetHexaString(Long nOffset, String sValue)
Parametry:
nOffset(Long) Określa pozycję zapisywanej wartości w bloku danych.
Cała zapisywana pozycja musi znajdować się w bloku danych lub cała pozycja zostanie dodana na koniec bloku danych. Pozycja zostanie zapisana w całości lub wogóle.
>= 0 - Indeks (w bajtach, indeksowane od 0) w bloku danych.
-2 - Cała pozycja zostanie dodana na koniec bloku danych. Wielkość bloku danych zostanie zwiększona o zapisywaną pozycję.
-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.
sValue(String) Zapisywany blok danych w formie HexaString.
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) Zakodowanie 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.
Patrz również:
Przykład:
Wytworzenie bloku danych, kolejny zapis 4, 2 orez 1-bajtowej wartości całkowitej (razem 7 bajtów), a na końcu odczyt zawartości całego bloku danych w formie HexaString.
Odwrotny przykład patrz metoda GetHexaString.
JavaScriptWybierz oraz skopiuj do schowka

var b = Pm.CreatePmBuffer();
b.SetHexaString(-2, "40302010605070");
var val1 = b.GetInt32(0);   // Wynikiem jest wartość 0x10203040
var val2 = b.GetInt16(-4);   // Wynikiem jest wartość 0x5060
var val3 = b.GetUint8(-4);   // Wynikiem jest wartość 0x70

Historia:
Pm9.00.04: Wytworzono
© MICROSYS, spol. s r.o.