Promotic

SetStringVar - metoda obiektu PmBuffer

Opis:
Zapis łańcucha tekstowego o zmiennej długości (zakończony znakiem NULL).
Składnia:
Empty SetStringVar(Long nOffset, String sValue, [Long nAttr], [Long nEncoding])
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 łańcuch tekstowy.
nAttr[opcjonalne] (Long) Dodatkowe parametry.
0 (domyślnie) - Łańcuch tekstowy zostanie zapisany wraz ze znakiem NULL na końcu.
1 - Łańcuch tekstowy zostanie zapisany bez końcowego znaku NULL.
nEncoding[opcjonalne] (Long) Kodowanie łańcucha tekstowego w bloku danych.
0 (domyślnie) - (ANSI) Każdy znak jest zapisany w jednym bajcie. Wartości 0 do 127 tworzą tabelkę znaków ASCII, ich znaczenie nie zmienia się. Wartości 128 do 255 posiadają różne znaczenie w różnych lokalizacjach (strony kodowe, np. Windows 1250).
1 - (UTF-8) Każdy znak jest zapisany w 1, 2 lub 4 bajtach, to znaczy posiada zmienną długość. Zaletą jest to, iż standardowe znaki łacińskie (ASCII) są zapisane w jednym bajcie. W większej ilości bajtów są zapisane dopiero znaki diakrytyczne (tzn. narodowo zależne znaki) oraz specjalne znaki. Zapis ten jest w praktyce bardzo oszczędny.
Ten rodzaj kodowania to jest stosowany przede wszystkim do wymiany danych, trwałości danych oraz w Webie.
2 - (UTF-16) Każdy znak jest zapisany w 2 bajtach (lub ewentualnie w 4 bajtach) tzn. posiada stałą długość. Zaletą jest to, iż większość znaków jest zapisana w 2 bajtach, czyli praca z takimi łańcuchami jest prosta (ponieważ praktycznie posiadają stałą długość).
Ten rodzaj kodowania jest wewnętrznie stosowany w SO Windows, ale również w języku JavaScript lub .NET, ponieważ manipulacja z łańcuchami o stałej długości jest łatwiejsza.
CodePage - Każdy znak jest przechowywany w jednym lub więcej bajtach zgodnie z określoną stroną kodową (CodePage). Strona kodowa jest określana przez jej numer, który jest ważny we wszystkich systemach operacyjnych i programach. Na przykład 1250 dla Windows 1250 lub 852 dla Latin 2.
Notatka:
Metoda ta działa także w Web panelach.
Ograniczenia dla Web panele:
nEcoding=0 (ANSI) - kodowanie nie działa dla znaków o wartości większe niż 127
nEcoding=1 (UTF-8) - kodowanie nie działa w Internet Explorer.
nEcoding=CodePage - kodowanie nie działa
Patrz również:
Przykład:
JavaScriptWybierz oraz skopiuj do schowka

var oBuf = Pm.CreatePmBuffer();
var s1 = "Help me!";
oBuf.SetStringVar(-2, s1, 0, 1);

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