nOffset | (Long) Určuje pozici zapisované hodnoty v datovém bloku.
Platí, že celá zapisovaná hodnota musí ležet uvnitř datového bloku nebo se celá položka přidává na konec datového bloku. Položka se zapíše buď celá nebo vůbec. >= 0 - Index (v bajtech, indexováno od 0) v datovém bloku.
-2 - Celá položka se přidá na konec datového bloku. Velikost datového bloku se zvětší o zapisovanou položku.
-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í. |
---|---|
sValue | (String) Zapisovaný textový řetězec. |
nLength | (Long) Pevná velikost v bajtech vyhrazeného prostoru v datovém bloku pro textový řetězec.
Textový řetězec není ukončen znakem NULL, ale pokud jeho skutečná délka je menší než zadaná pevná velikost, pak je zprava vyplněn zadaným znakem nPad (obvykle NULL nebo mezera) až do požadované pevné délky. |
nPad | [nepovinné] (Long) Hodnota znaku, kterým bude textový řetězec v případě potřeby doplněn zprava až do požadované pevné délky.
Hodnota 0 (přednastaveno) je znak NULL. Hodnota 32 je znak mezera. |
nEncoding | [nepovinné] (Long) Kódování textového řetězce v datovém bloku.
0 (přednastaveno) - (ANSI) Každý znak je uložený v jednom bajtu. Hodnoty 0 až 127 tvoří ASCII tabulku znaků, jejichž význam je neměnný. Hodnoty 128 až 255 mají různý význam v různých lokalizacích (kódové stránky, např. Windows 1250).
1 - (UTF-8) Každý znak je uložen v 1, 2 nebo 4 bajtech, to znamená má proměnlivou délku. Výhodou je, že běžné znaky latinky (ASCII) jsou uloženy v jednom bajtu. Ve více bajtech jsou uloženy až znaky s diakritikou (tzn. národnostně závislé znaky) a speciální znaky. Takže toto uložení je v praxi velmi úsporné.
Toto kódování se používá zejména pro výměnu dat, persistenci dat a na Webu. 2 - (UTF-16) Každý znak je uložen ve 2 bajtech (nebo vyjímečně 4 bajtech), tzn. má v praxi pevnou délku. Výhodou je, že většina znaků je uložena ve 2 bajtech, takže se s těmito řetězci dobře pracuje (protože mají prakticky pevnou délku).
Toto kódování se interně používá v OS Windows, ale i v jazyce JavaScript nebo .NET, protože je manipulace s těmito pevnými řetězci snazší. 3 - (UTF-16 BE) (Big Endian) Každý znak je uložen ve 2 bajtech (nebo vyjímečně 4 bajtech), tzn. má v praxi pevnou délku. Výhodou je, že většina znaků je uložena ve 2 bajtech, takže se s těmito řetězci dobře pracuje (protože mají prakticky pevnou délku).
Toto kódování se interně používá v OS Windows, ale i v jazyce JavaScript nebo .NET, protože je manipulace s těmito pevnými řetězci snazší. |
var oBuf = Pm.CreatePmBuffer();
var s1 = "Help me!";
oBuf.SetStringFix(-2, s1, 8, 0, 1);