Promotic
WikipediaLinkedInYoutubeTwitterFacebook

SetStringVar - metoda objektu PmBuffer

Popis:
Zapsání znakového řetězce s proměnlivou délkou (ukončený znakem NULL).
Syntaxe:
Empty SetStringVar(Long nOffset, String sValue, [Long nAttr], [Long nEncoding])
Volání:
Value = PmBuffer.SetStringVar(nOffset, sValue, nLength, nEncoding)
Parametry:
nOffset(Long) Určuje pozici zapisované hodnoty v datovém bloku. Platí, že celá zapisovaná položka 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.
Hodnota -4 znamená, že se použije vnitřní automatická pozice (viz AutoOffset), která ukazuje za poslední čtenou nebo zapisovanou hodnotu a automaticky se zvětšuje. Pokud se čtou/zapisují položky jedna za druhou, není potřeba ručně určovat pozici, ale lépe použít toto automatické pozicování.
Hodnota -2 znamená, že se celá položka přidá na konec datového bloku. Velikost datového bloku se pak zvětší o zapisovanou položku.
sValue(String) Zapisovaný řetězec.
nAttr[nepovinné] (Long) Hodnota 0 (přednastaveno) znamená, že se řetězec uloží se znakem NULL na konci.
Hodnota 1 znamená, že se řetězec uloží bez koncového znaku NULL.
nEncoding[nepovinné] (Long) Kódování znakové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ří tzv 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 CP-1250).
1 - (UTF-8) Každý znak je uložen v 1, 2 nebo 4 bajtech, tzn má proměnlivou délku. Výhodou je, že běžné znaky latinky (ASCII) jsou uloženy v 1 bajtu. Ve více bajtech jsou uloženy až znaky s diakritikou 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á ve Windows, ale i v JavaScript nebo .NET, protože je manipulace s těmito pevnými řetězci snazší.
Poznámka:
Tato metoda je funkční i pro Web obrazy. Pro InternetExplorer však nefunguje kódování UTF-8.

Historie:
Pm9.00.04: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice