Promotic

KeyVal - format zapisu opisanych wartości

Na wielu miejscach w systemie PROMOTIC jest konieczne określić w jednym tekscie większą ilość opisanych wartości. Do tego celu przeznaczony jest tu opisany format.
Format jest zbliżony np. do zapisu CSS stylów w stronach HTML.

Składnia:
Nazwa1:Wartość1;Nazwa2:Wartość2; ...

Na przykład: "Temperatura:85;Cisnienie:1013.85;Nazwa:Kociol1;"

- Nazwa: Przedstawia identyfikator wartości, który może być:
- Identyfikator tekstowy (nazwa wartości):
To najczęstszy sposób wprowadzania wartości w formacie KeyVal.
Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Przykład: val1:13.5;val2:56;
Podczas konwersji podłańcucha KeyVal przy pomocy metody PmMap.mapLoadFromString jest wytworzony obiekt PmMap.
- Liczbowy identyfikator (indeks wartości):
Przykład: 0:13.5;1:56;
Pierwszy identyfikator musi zawierać wartość 0 a następne kolejne rosnąco (1, 2, 3, ...).
Podczas konwersji podłańcucha KeyVal przy pomocy metody PmMap.mapLoadFromString jest wytworzony obiekt PmArray.

Wszystkie identyfikatory na tym samym poziomie muszą być tego samego typu (tekstowe lub liczbowe).


- Wartość: Znajduje się za dwukropkiem.
- Jeżeli wartość jest liczba rzeczywista z kropką dziesiętną, wtedy separatorem dziesiętnym musi być kropka.
- Wartość może zawierać znak dwukropek.
- Wartość nie może zawierać:
- Znak średnik (";"). Musi zostać zamienony za dwa znaki: lewy ukośnik oraz s ("\s")
- Znak NewLine (0A hexa). Musi zostać zamienony za dwa znaki: lewy ukośnik oraz n ("\n")
- Znak CarriageReturn (0D hexa). Musi zostać zamienony za dwa znaki: lewy ukośnik oraz r ("\r")
- Znak lewy ukośnik ("\"). Musi zostać zamienony za dwa znaki: 2x lewy ukośnik ("\\")
- Znak lewy nawias złożony ("{"). Musi zostać zamienony za dwa znaki: lewy ukośnik oraz o ("\o")
- Znak prawy nawias złożony ("{"). Musi zostać zamienony za dwa znaki: lewy ukośnik oraz c ("\c")
- Jeżeli wartość rozpoczyna się znakiem "lewy nawias złożony", wtedy musi kończyć się znakiem "prawy nawias złożony".
To znaczy, że określona wartość jest złożona a w nawiasach zawiera tekst ponownie w formacie KeyVal.
Przykład:
"Temperatura:85;Parametry:{p1:56;p2:64};"
- Wartość może zawierać na początku oraz na końcu puste znaki (spacja, tabulator) a te są płatnymi (ważnymi) znakami.
To znaczy, że na przykład po zapisie do obiektu PmMap (przy pomocy metody mapSaveToString) w wartości właściwości zostanie zapisany tekst włącznie z początkowymi oraz końcowymi pustymi znakami.

Format ten można zastosować np. w następujących przypadkach:
- w konfiguratorze "Parametry Pma obiektu".
- W metodzie Pm.CreateView w parametrach sViewPars oraz sFramePars.
- W obiekcie PmMap, w metodach mapSaveToString oraz mapLoadFromString.
- W obiekcie PmaAlarmGroup, w konfiguratorze "Parametry dźwięku".
- oraz wiele innych

Historia:
Pm9.00.15: Uogólnienie możliwości wprowadzania nazwy jako liczbę (tzn. KeyVal typu Array).
Pm8.03.13: Wytworzono
© MICROSYS, spol. s r.o.