Value = PmBuffer.SetStringVar(nOffset, sValue, nLength, nEncoding)
|nOffset||(Long) Defines the position of written value in the data block. The whole written item muyst 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. |
The value -4 means that the internal automatic position is used (see AutoOffset). It points behind the last read or written value and increases continually. If the items are read/written one by one then it is not necessary to define the position, but it is handy to use this automated positioning.
The value -2 means that the whole item is added to the end of the data block. The size of the data bloc is then increased by the written item.
|sValue||(String) String that is being written.|
|nAttr||[optional] (Long) The value 0 (default) means that the string is saved with the NULL character at the end. |
The value 1 means that the string is saved without the NULL ending character.
|nEncoding||[optional] (Long) Encoding of character string in the data block.|
0 (default) - (ANSI) Each character is stored in a single byte. The values from 0 to 127 represent an ASCII character table that is not changing in meaning. The values from 128 to 255 have different meaning in various localizations (code pages, e.g. Windows CP-1250).
1 - (UTF-8) Each character is stored in 1, 2 or 4 bytes, i.e has variable lenght. The advantage is that the latin characters (ASCII) are stored in a single byte. Only special characters and characters with diacritics are stored in multiple bytes. This storage is therefore very efficient. This encoding is commonly used for data exchange, data persistence and on the web.