StringScan - metoda obiektu Pm
Opis:
Odczyt danych z łańcucha tekstowego formatowanego w konwencji języka
C.
Metoda ta jest przestarzała (lecz funkcjonalna) oraz dogodniejszym jest zastosowanie metody
PmFormat.Scan.
Składnia:
Array StringScan(String sFormat, String sSource)
Parametry:
sFormat | (String) Reguła formatowania w konwencji języka C.
Patrz Reguła formatowania języka C.
Dla liczb rzeczywistych nie można jednak określać ilości miejsc dziesiętnych (zamiast %5.2f musi być tylko "%5f"). |
sSource | (String) łańcuch, z którego będą dane wczytane według określonego formatu |
---|
Wartość zwrotna:
Metoda zwraca dane w tablicy wartości (obiekt
PmArray dla
JavaScript lub typ danych
Array dla
VBScript).
Notatka:
Metoda ta działa również w
Makro wyrażenie $.expr oraz w zdarzeniu
onDraw obiektu
PmgCanvas.
Metoda ta działa także w
Web panelach.
HexaString (łańcuch tekstowy w układzie szesnastkowym) może być użyty na dwa sposoby:
1) Wyświetlenie liczb w układzie szesnastkowym, gdzie wyższe rzędy znajdują się po lewej stronie. Odpowiada to przechowywaniu w pamięci
Big-endian.
Chodzi o konwersję wartości liczbowej do łańcucha tekstowego (i odwrotnie) przy pomocy łańcucha formatowania.
Do zastosowania
HexaString w ten sposób jest zalecane zastosowanie obiektu
PmFormat.
2) Kodowanie zawartości sekcji pamięci o określone wielkości (np. 1B, 2B, 4B …) w układzie szesnastkowym. Następnie zależy to od tego, jak liczba jest przechowywana w pamięci.
Na procesorach
Intel i
AMD (architektura
x86 lub
x64) używana jest tzw.
Little-endian, gdzie niższe rzędy znajdują się po lewej stronie.
Do zastosowania
HexaString w ten sposób jest zalecane stosowanie wyłącznie obiektu
PmBuffer, który może obsługiwać zarówno
Little-endian jak i
Big-endian.
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var nTemperature, nPressure;
var sText = "Temperatura=25.48, Cisnienie=112.8";
var aData = Pm.StringScan("Temperatura=%5f, Cisnienie=%5f", sText);
nTemperature = aData.GetItem(0);
nPressure = aData.GetItem(1);
Dim nTemperature, nPressure, sText, aData
sText = "Temperatura=25.48, Cisnienie=112.8"
aData = Pm.StringScan("Temperatura=%5f, Cisnienie=%5f", sText)
nTemperature = aData(0)
nPressure = aData(1)