Na wielu miejscach w systemie PROMOTIC jest konieczne określić w jednym tekscie większą ilość opisanych wartości. Do tego celu przeznaczony jest niżej opisany format.
Format jest zbliżony np. do zapisu
-
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: