Promotic

KeyVal - formát uložení pojmenovaných hodnot

Na mnoha místech v systému PROMOTIC je nutno zadat v jednom textu více pojmenovaných hodnot. K tomuto účelu lze použít zde popsaný formát.
Formát je velmi podobný např. zápisu CSS stylů v HTML stránkách.

Syntaxe:
Název1:Hodnota1;Název2:Hodnota2; ...

Například: "Teplota:85;Tlak:1013.85;Název:Kotel1;"

- Název: Představuje identifikátor hodnoty, který může být:
- Textový identifikátor (název hodnoty):
Je to nejčastější způsob zadávání hodnoty ve formátu KeyVal.
Je to systémový název, může obsahovat jen alfanumerické znaky a nesmí obsahovat diakritiku (tzn. národnostně závislé znaky), prázdný řetězec, mezery a první znak nesmí být číslo.
Příklad: val1:13.5;val2:56;
Při konverzi KeyVal podřetězce metodou PmMap.mapLoadFromString se vytvoří objekt PmMap.
- Číselný identifikátor (index hodnoty):
Příklad: 0:13.5;1:56;
První identifikátor musí mít hodnotu 0 a další se postupně zvětšovat (1, 2, 3, ...).
Při konverzi KeyVal podřetězce metodou PmMap.mapLoadFromString se vytvoří objekt PmArray.

Všechny identifikátory na dané úrovni musí být stejného typu (textové nebo číselné).


- Hodnota: Je uvedena za dvojtečkou.
- Pokud hodnota je reálné číslo s desetinnou tečkou, pak desetinný oddělovač musí být tečka.
- Hodnota může obsahovat znak dvojtečka.
- Hodnota nesmí obsahovat:
- Znak středník (";"). Musí se zaměnit za dva znaky: zpětné lomítko a s ("\s")
- Znak NewLine (0A hexa). Musí se zaměnit za dva znaky: zpětné lomítko a n ("\n")
- Znak CarriageReturn (0D hexa). Musí se zaměnit za dva znaky: zpětné lomítko a r ("\r")
- Znak zpětné lomítko ("\"). Musí se zaměnit za dva znaky: 2x zpětné lomítko ("\\")
- Znak levá složená závorka ("{"). Musí se zaměnit za dva znaky: zpětné lomítko a o ("\o")
- Znak pravá složená závorka ("{"). Musí se zaměnit za dva znaky: zpětné lomítko a c ("\c")
- Pokud hodnota začíná znakem "levá složená závorka", pak musí být ukončena znakem "pravá složená závorka".
To znamená, že daná hodnota je složená a v závorkách obsahuje text opět ve formátu KeyVal.
Příklad:
"Teplota:85;Parametry:{p1:56;p2:64};"
- Hodnota může mít na začátku i na konci prázdné znaky (mezera, tabulátor) a tyto se považují za platné znaky.
To znamená, že například při uložení do objektu PmMap (metodou mapSaveToString) bude v hodnotě vlastnosti uložen text včetně těchto počátečních nebo koncových prázdných znaků.

Tento formát lze použít např. v následujících případech:
- v konfigurátoru "Parametry Pma objektu".
- V metodě Pm.CreateView v parametrech sViewPars a sFramePars.
- V objektu PmMap, v metodách mapSaveToString a mapLoadFromString.
- V objektu PmaAlarmGroup, v konfigurátoru "Parametry zvuku".
- a mnoho dalších

Historie:
Pm9.00.15: Zobecnění o možnost zadávat název jako číslo (tzn. KeyVal typu Array).
Pm8.03.13: Vytvořeno
© MICROSYS, spol. s r.o.