SetHexaString - method of the PmBuffer object
Syntax:
Empty SetHexaString(Long nOffset, String sValue)
Parameters:
nOffset | (Long) Specifies the position of written value in the data block.
The whole written value must be inside the data block, or the whole item is added to the end of the data block. The item is written either whole or not read at all.
>= 0 - Index (in bytes, zero-based index) in the data block.
-2 - The whole item is added to the end of the data block. The size of the data block is increased by the written item.
-4 - The internal automatic position is used (see the AutoOffset property). It points behind the last read or written value.
This operation shifts the internal automatic position behind the read/written value.
If the items are read/written one by one then it is not necessary to define the position manually, but it is better to use this automated positioning. |
sValue | (String) Data block in the form of HexaString that is being written. |
---|
Note:
This method is also functional in
Web panels.
HexaString (a text string in hexadecimal) can be used in two ways:
1) Display numbers in hexadecimal, where the higher orders are on the left. It corresponds to the storage in memory of
Big-endian.
This is the conversion of a number value into a text string (and vice versa) using a formatting string.
To use
HexaString in this way, it is recommended to use the
PmFormat object.
2) Encoding the contents of a memory section of a certain size (e.g. 1B, 2B, 4B …) in hexadecimal. Then it depends on how the number is stored in memory.
On
Intel and
AMD processors (
x86 or
x64 architecture), the so-called
Little-endian is used, where the lower orders are on the left.
To use
HexaString in this way, it is recommended to use the
PmBuffer object, which can handle both
Little-endian and
Big-endian.
Example:
Creating a data block by continuous writing of 4, 2 and 1-byte integer value (7 bytes total) and then reading the whole content of the data block in the form of
HexaString.
For inverse example see the
SetHexaString method.
JavaScriptSelect and copy to clipboard
var b = Pm.CreatePmBuffer();
b.SetHexaString(-2, "40302010605070");
var val1 = b.GetInt32(0);
// The result will be a value 0x10203040
var val2 = b.GetInt16(-4);
// The result will be a value 0x5060
var val3 = b.GetUint8(-4);
// The result will be a value 0x70