Promotic
WikipediaLinkedInYoutubeTwitterFacebook

KeyVal - format zapisu opisanych wartości

Na wielu miejscach w systemie PROMOTIC jest konieczne wprowadzenie 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.

Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne, pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.

- Wartość: Znajduje się za dwukropkiem.
- Jeżeli wartość jest liczba rzeczywista z częścią 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".

Oznacza to, iż 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 (spacje, tabelatory) 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 sView oraz sFrame.
- W obiekcie PmMap, w metodach mapSaveToString oraz mapLoadFromString.
- W obiekcie PmaAlarmGroup, w konfiguratorze "Parametry dźwięku".
- itd.

Historia:
Pm8.03.13: Wytworzono
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice