Mu := Se + 2;
Každý riadok je oddelený bodkočiarkou
Last := Current; Current := 0;
(Co2 > 800) AND (Wind < 10);
je ekvivalentné k:
RETURN((CO2 > 800) and (Wind < 10));
Existuje len počas jednej vykonávanej sekvencie skriptu.
VAR X := 5;
Štýl Excelu:
IF(logical_expression, value_if_true, value_if_false);
IF(logical_expression, value_if_true);
Viacriadkový štýl:
IF X < 5 RETURN(1); ELSEIF X > 10 RETURN(3); ELSE RETURN(0); END
Testuje výraz proti zoznamu prípadov a vráti hodnotu prvého zodpovedajúceho prípadu alebo predvolenú hodnotu, ak žiadny nevyhovuje.
SWITCH(expression, case1, value1, [case2, ...], [value2, ...], default_value)
Príklad:
SWITCH( MODBUSR(H, 168, UInt16), 0, 0, 0x0002, 1, 0x0004, 2, 0x0008, 3, 0x0010, 4, 0x0040, 5, 0x0800, 6, NaN)
Príklad s podmienkou na začiatku:
int i := 10; while i > 0 i := i - 1;
if i > 5 continue; else break; end loop
Príklad s podmienkou na konci:
int i := 10; do i := i + i; loop while i < 10
NaN môže byť vrátené ako hodnota, ak skutočná hodnota nie je známa.
IF Temperature > 250 RETURN(NaN);
Funkcia ISNAN(expression)
Vracia TRUE, ak výraz nie je číslo.
Vracia TRUE, ak parameter je NULL, inak vracia FALSE. Používa sa pre typy String a Bytearray.
Syntax:
ISNULL(object)
Pozastaví skript na zadaný počet milisekúnd. Používajte len vo veľmi špecifických prípadoch.
SLEEP(5);
Nový riadok začínajúci znakom #:
#komentár
Výrazy môžu interpretovať aj hexadecimálne čísla. Predpona 0x
je povinná, zvyšok nie je citlivý na veľkosť písmen.
0x0A = 10 0xA0A0 (41120) 0xa0a0 (41120)
0b1010 = 10 0b10101010 (170)
+, -, *, / (20.5 + 9.5) / 2 (15)
AND, OR, !, =, !=, >, < (!IsRaining OR (Wind>30)) MultiValueSwitchState != 2 (Nerovná sa 2)
Vracia lineárne upravenú hodnotu – lineárnu interpoláciu.
Syntax:
LINEAR(input, value1_input, value1_output, value2_input, value2_output, [type])
Parametre
input
: vstupná hodnotavalue1_input
: spodná hranica vstupuvalue1_output
: spodná hranica výstupuvalue2_input
: horná hranica vstupuvalue2_output
: horná hranica výstupu[type]
: voliteľný parameter. Definuje správanie pre vstupné hodnoty mimo rozsahu.Príklady
LINEAR(250, 0,0, 50,500) (Výsledok: 25°C) LINEAR(Co2, 400,0, 1200,1)
Používa sa na filtrovanie signálov, aby sa reakcie na zmeny hodnoty spomalili.
Syntax:
HYSTERESIS(value, upper_bound, lower_bound, upper_output, lower_output, last_value)
Príklad:
Udržujte 20 °C v hysteréznom rozsahu 2 ºC.
Zapnite kúrenie, keď teplota klesne pod 18 °C, a vypnite ho, keď presiahne 22 °C:
heater := HYSTERESIS(temperature, 22, 18, 0, 1, heater);
Funkcia MIN
vráti minimálnu hodnotu zo zadaných číselných hodnôt. Prijíma 1 až 100 argumentov alebo jednu kolekciu. Hodnoty NaN
a NULL
sú ignorované.
MIN( n1, n2, n3, …)
MIN( kolekcia )
Príklady:
MIN(40, 80) = 40
MIN(2, 2, 6) = 2
MIN(80, NAN) = 80
MIN(NAN, NAN) = NaN
VAR data := {10, 20, 30}; MIN(data) = 10
MIN({1, 2, 3}) = 1
MIN({1, NaN, 3}) = 1
VAR d1 := DATETIME(2014, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
VAR d2 := DATETIME(2015, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
MIN(d1, d2) ... Výsledok je d1
Funkcia MINSTRICT vráti minimálnu hodnotu zo zadaných číselných hodnôt. Prijíma 1 až 100 argumentov alebo jednu kolekciu. Ak je niektorá zo zadaných hodnôt NaN alebo NULL, funkcia vráti NaN/NULL. MINSTRICT( n1, n2, n3, …) MINSTRICT( kolekcia )
Príklady:
MINSTRICT(40, 80) = 40
MINSTRICT(2, 2, 6) = 2
MINSTRICT(80, NAN) = NaN
MINSTRICT(NAN, NAN) = NaN
VAR data := {10, 20, 30}; MINSTRICT(data) = 10
MINSTRICT({1, 2, 3}) = 1
MINSTRICT({1, NaN, 3}) = NaN
VAR d1 := DATETIME(2014, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
VAR d2 := DATETIME(2015, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
MINSTRICT(d1, NULL, d2) ... Výsledok je NULL
Funkcia MAX vráti maximálnu hodnotu zo zadaných číselných hodnôt. Prijíma 1 až 100 argumentov alebo jednu kolekciu. Hodnoty NaN a NULL sú ignorované. MAX( n1, n2, n3, …) MAX( kolekcia )
Príklady:
MAX(40, 80) = 80
MAX(2, 2, 6) = 6
MAX(80, NAN) = 80
MAX(NAN, NAN) = NaN
VAR data := {10, 20, 30}; MAX(data) = 30
MAX({1, 2, 3}) = 3
MAX({1, NaN, 3}) = 3
VAR d1 := DATETIME(2014, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
VAR d2 := DATETIME(2015, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
MAX(d1, d2) ... Výsledok je d2
ROUND(hodnota)
Vráti zaokrúhlenú hodnotu. Príklady:
ROUND(2.01) = 2
ROUND(2.49) = 2
ROUND(2.5) = 3
ROUND(2.99) = 3
Funkcia ABS vráti absolútnu hodnotu (modul) zadaného čísla. ABS(číslo)
Príklady:
ABS(100) = 100
ABS(-100) = 100
DEWPOINT(teplota, relativnaVlhkost)
Vráti teplotu rosného bodu na základe aktuálnej teploty a relatívnej vlhkosti. Výpočet podľa vzorca: http://bmcnoldy.rsmas.miami.edu/Humidity.html.
Príklady:
DEWPOINT(20, 0.50) = ~9.26
DEWPOINT(0, 1.00) = 0
Funkcia POWER vypočíta zadané číslo umocnené na daný exponent. POWER(číslo, exponent)
Príklady:
POWER(2,3) … 2^3 = 8
POWER(10, -3) … 0.001
POWER(25, 0) … 1
Funkcia MOD vráti zvyšok po delení medzi dvoma číslami. MOD(číslo, deliteľ)
Príklady:
MOD(6, 4) = 2
MOD(6, 2.5) = 1
Funkcia CEIL
zaokrúhli zadané číslo smerom od nuly na najbližší násobok daného čísla.
CEIL(číslo, významnosť)
Argumenty:
číslo
: Číslo, ktoré sa má zaokrúhliť.významnosť
(voliteľné): Násobok významnosti, na ktorý sa má číslo zaokrúhliť. Ak nie je zadaný, predvolene je 1.
Príklady:
CEIL(22.25,0.1) … 22.3
CEIL(22.25,1) … 23
CEIL(22.25) … 23
CEIL(-22.25,-1) … -23
CEIL(-22.25,1) … -22
CEIL(-22.25) … -22
CEIL(-22.25,-5) … -25
Funkcia FLOOR zaokrúhli zadané číslo smerom k nule na najbližší násobok významnosti. FLOOR(číslo, významnosť)
Argumenty:
číslo: Číslo, ktoré sa má zaokrúhliť.
významnosť (voliteľné): Násobok významnosti, na ktorý sa má číslo zaokrúhliť. Ak nie je zadaný, predvolene je 1.
Príklady:
FLOOR(22.25,0.1)… 22.2
FLOOR(22.25,1) … 22
FLOOR(22.25) … 22
FLOOR(-22.25,-1) … -22
FLOOR(-22.25,1) … -23
FLOOR(-22.25) … -23
FLOOR(-22.25,-5) … -20
Funkcia RAND vygeneruje náhodné reálne číslo medzi 0 a 1. RAND()
Funkcia RANDINT vygeneruje náhodné celé číslo medzi dvoma zadanými číslami. RANDINT(dolná_hodnota, horná_hodnota)
Príklady:
RANDINT(1,5)
RANDINT(-2,2)
Funkcia SIGN vráti znamienko zadaného čísla (+1, -1 alebo 0). SIGN(číslo)
Príklady:
SIGN(100) … 1
SIGN(0) … 0
SIGN(-100) … -1
Funkcia SQRT vypočíta kladnú druhú odmocninu zadaného čísla. SQRT(číslo)
Príklad:
SQRT(25) … 5
Funkcia LOG vypočíta logaritmus daného čísla k určenej báze. LOG(číslo, báza)
Argumenty:
číslo: Kladné reálne číslo, z ktorého chcete vypočítať logaritmus.
báza (voliteľné): Báza, k akej sa má logaritmus vypočítať. Ak nie je zadaná, predvolene 10.
Príklady:
LOG(4,0.5) … -2
LOG(100) … 2
Funkcia LN vypočíta prirodzený logaritmus zadaného čísla. LN(číslo)
Príklady:
LN(100) … 4,60517
Funkcia GETBIT vráti hodnotu bitu na špecifikovanej pozícii. GETBIT(číslo, pozícia_bit)
Argumenty:
číslo: Číslo, z ktorého chcete extrahovať konkrétny bit.
pozícia_bit: Pozícia bitu, počítaná od 0 z pravej strany.
Príklady:
GETBIT(2, 0) → Prvý bit čísla 2 (0b0010) je 0
GETBIT(4, 2) → Tretí bit čísla 4 (0b0100) je 1
Funkcia GETBITS vráti hodnotu zadaného počtu bitov na špecifikovanej pozícii. GETBITS(číslo, začiatok_bit, počet_bitov)
Príklady:
GETBITS(216, 3, 2) → Číslo 216 = 0b1101 1000;
Hodnota 4. bitu sprava je 1, 5. bitu je 1, preto výsledok je 0b0011 = 3.
GETBITS(0xFF, 0, 4) → Číslo 0xFF = 255 = 0b1111 1111;
Hodnota prvých 4 bitov sprava je 0b1111 = 0xF = 15.
Funkcia GETBYTE vráti hodnotu bajtu v zadanom čísle. GETBYTE(číslo, pozícia_bajt)
Argumenty:
číslo: Číslo, z ktorého chcete extrahovať konkrétny bajt.
pozícia_bajt: Pozícia bajtu, počítaná od 0 z pravej strany.
Príklady:
GETBYTE(256, 0) → 0001 0000 0000 → 0
GETBYTE(256, 1) → 0001 0000 0000 → 1
GETBYTE(259, 0) → 0001 0000 0011 → 3
Priradí novú hodnotu k špecifikovanému bajtu v poskytnutom čísle a vráti priradenú hodnotu.
SETBYTE( číslo, pozícia_bajtu, nová_hodnota )
Príklady:
SETBYTE(1, 0, 0) → 0
SETBYTE(256, 0, 255) → 511
SETBYTE(256, 1, 1) → 256
SETBYTE(259, 1, 2) → 515
Priradí novú hodnotu k špecifikovanému bitu v poskytnutom čísle a vráti nové číslo.
SETBIT(číslo, pozícia_bitu, nová_hodnota)
Argumenty:
číslo
: číslo, ktoré sa má upraviťpozícia_bitu
: pozícia bitu, začínajúca od 0, spravanová_hodnota
: 0 alebo 1 - hodnota, ktorá bude nastavená na špecifikovaný bitPríklady:
SETBIT(1, 1, 1) → 3
SETBIT(3, 1, 1) → 3
SETBIT(4, 2, 0) → 4
SETBIT(12, 1, 0) → 14
Priradí novú hodnotu špecifikovaným bitom v poskytnutom čísle a vráti nové číslo.
SETBITS(číslo, začiatok_bitu, počet_bitov, nová_hodnota)
Príklady:
SETBITS(192, 4, 2, 3) → 240
SETBITS(192, 5, 2, 3) → 224
8 << 2 (32)
Excel: BITLSHIFT(číslo, počet_posunov)
32 >> 2 (8)
Excel: BITRSHIFT(číslo, počet_posunov)
3 & 1 (1)
Excel: BITAND(číslo1, číslo2)
2 | 1 (3)
Excel: BITOR(číslo1, číslo2)
Pozrite si príklad bitových operácií v Google Sheets:
https://docs.google.com/spreadsheets/d/1hF5FMpGMJbgYh-YLwWrq2n186_ATyGyLUb689__IhLY/edit?usp=sharing
Alebo vyskúšajte interaktívny nástroj na http://bitwisecmd.com/
Vráti dĺžku objektu alebo počet bajtov. Objekt môže byť číslo, boolean, reťazec alebo kolekcia.
LENGTH( objekt )
Príklady:
LENGTH(“Hello World”) (Výsledok je 11)
LENGTH(“40”) (Výsledok je 2)
LENGTH(40) (Výsledok je 8)
LENGTH(BYTECOLLECTION(“010203”)) (Výsledok je 3)
Vytvorí Kolekciu
zo špecifikovaných hexadecimálnych hodnôt.
BYTECOLLECTION( bajty )
Príklady:
BYTECOLLECTION(“010203”) → Kolekcia {01, 02, 03}
BYTECOLLECTION(“aa, be1-1,fe”) → Kolekcia {aa be 11 fe}
Vráti index špecifikovaného prvku v reťazci alebo kolekcii. Ak sa prvok nenájde, vráti -1.
INDEXOF( reťazec/kolekcia, prvok )
Príklady:
INDEXOF("Hello", “H”) → 0
INDEXOF("Hello World", “Wor”) → 6
INDEXOF("Hello World", “or12”) → -1
INDEXOF(BYTECOLLECTION("ab cd ee ff 01 02"), 2) → 5
INDEXOF({1, 2, 3}, 3) → 2
Skopíruje špecifikovaný reťazec alebo kolekciu (alebo ich časť).
COPY( reťazec/kolekcia, začiatokIndex, dĺžka)
Príklady:
COPY("Hello") → "Hello"
COPY("Hello World", 2) → "llo World"
COPY("Hello World", 2, 4) → "llo "
COPY(BYTEARRAY("01020304")) → Bajtové pole 01020304
COPY(BYTEARRAY("01020304", 2, 1)) → Bajtové pole 03
Vráti nový reťazec alebo kolekciu, v ktorých sú všetky výskyty špecifikovanej hodnoty nahradené novou hodnotou.
REPLACE( reťazec/kolekcia, staráHodnota, nováHodnota )
Príklady:
REPLACE("Hello", “l”, “”) → "Heo"
REPLACE("Hello", “lo”, “22”) → "Hel22"
REPLACE(BYTECOLLECTION(“050607"), 5, 9) → Kolekcia {09, 06, 07}
Rozdelí reťazec na podreťazce na základe parametrov oddeľovača.
SPLIT( reťazec, znak )
Príklady:
SPLIT("1;2;3;4", “;”) → Kolekcia {“1”, “2”, “3”, “4”}
SPLIT("1;2;3.4", “2;”) → Kolekcia {“1;”, “3.4”}
SPLIT("1;2;3.4", {“2”, “3.”}) → Kolekcia {“1;”, “;”, “4”}
Pridá hodnotu do kolekcie alebo reťazca a vráti nový objekt s pridanou hodnotou.
APPEND( reťazec, reťazec )
APPEND( Kolekcia, hodnota )
Príklady:
APPEND({1, 2}, 3) → Kolekcia {1, 2, 3}
APPEND("abc", “def”) → "abcdef"
Zakóduje špecifikovaný reťazec pomocou jedného z dostupných formátov a vráti nový reťazec.
ENCODE( reťazec, formát )
Podporované formáty:
Príklady:
ENCODE("Hello", “xml”) → “Hello”
ENCODE("", “xml”) → “”
ENCODE("Hello", “base64”) → “SGVsbG8=”
Dekóduje špecifikovaný reťazec pomocou jedného z dostupných formátov a vráti nový reťazec. DECODE( reťazec, formát )
Podporované formáty:
XML
Base64
Príklady:
DECODE("Hello", “xml”) → “Hello”
DECODE("", “xml”) → “”
DECODE("SGVsbG8=", “base64”) → “Hello”
Porovná dve čísla s desatinnou hodnotou. Čísla sa považujú za rovnaké, ak | n1 - n2 | < epsilon. Predvolená hodnota prahovej odchýlky (epsilon) je 0.005, ale je možné ju zmeniť. EQUALS( číslo1, číslo2, epsilon=0.005 )
Príklady:
EQUALS(1.33, 1.33) → 1.0 (true)
EQUALS(1.333, 1.3335) → 1.0 (true)
EQUALS(1.333, 1.338) → 1.0 (false)
EQUALS(1.333, 1.338, 0.01) → 1.0 (true)
EQUALS(NAN, NAN) → 1.0 (true)
Existuje niekoľko variantov ORDER funkcie: Vzostupné:
ORDER, ORDERSTRICT
ORDERINDEX, ORDERINDEXSTRICT
Zostupné:
ORDERDESC, ORDERDESCSTRICT
ORDERINDEXDESC, ORDERINDEXDESCSTRICT
Funkcia ORDER zoradí poskytnuté hodnoty vzostupne a vráti ich v novej kolekcii. Podporuje 1 až 100 argumentov alebo jednu kolekciu. Hodnoty nemusia byť číselné, ale musia byť porovnateľné (napr. čísla, TIMESPAN, DATETIME, reťazce). Zmiešané typy (napr. čísla a reťazce naraz) nie sú povolené. Hodnoty NaN a NULL sa ignorujú a nebudú zahrnuté do výsledku.
ORDER( hodnota1, hodnota2, hodnota3 , … ) ORDER( kolekcia )
Príklady:
ORDER(3, 1, 2) → {1, 2, 3}
ORDER(1) → {1}
ORDER(3, NaN, 2, NaN) → {2, 3}
ORDER(NaN) → {}
ORDER('Z', 'a', 'X') → {'X', 'Z', 'a'}
ORDER("str1", "STR2", "stR1") → {"STR2", "stR1", "str1"}
ORDER("str1", NULL, "STR2", "stR1") → {"STR2", "stR1", "str1"}
Funkcia ORDERINDEX zoradí hodnoty vzostupne, ale namiesto hodnot vráti indexy pôvodných hodnôt podľa ich nového poradia. Podporuje 1 až 100 argumentov alebo jednu kolekciu.
ORDERINDEX( hodnota1, hodnota2, hodnota3 , … ) ORDERINDEX( kolekcia )
Príklady:
ORDERINDEX(3, 1, 2) → {1, 2, 0}
ORDERINDEX(1) → {0}
ORDERINDEX(3, NaN, 2, NaN) → {2, 0}
ORDERINDEX(NaN) → {}
ORDERINDEX('Z', 'a', 'X') → {2, 0, 1}
ORDERINDEX("str1", "STR2", "stR1") → {1, 2, 0}
Funkcia ORDERDESC zoradí poskytnuté hodnoty zostupne a vráti ich v novej kolekcii. Podporuje 1 až 100 argumentov alebo jednu kolekciu. Hodnoty musia byť porovnateľné.
ORDERDESC( hodnota1, hodnota2, hodnota3 , … ) ORDERDESC( kolekcia )
Príklady:
ORDERDESC(3, 1, 2) → {3, 2, 1}
ORDERDESC(1) → {1}
ORDERDESC(3, NaN, 2, NaN) → {3, 2}
ORDERDESC(NaN) → {}
ORDERDESC('Z', 'a', 'X') → {'a', 'Z', 'X'}
ORDERDESC("str1", "STR2", "stR1") → {"str1", "stR1", "STR2"}
Funkcia ORDERINDEXDESC zoradí hodnoty zostupne, ale namiesto hodnot vráti indexy pôvodných hodnôt podľa ich nového poradia.
ORDERINDEXDESC( hodnota1, hodnota2, hodnota3 , … ) ORDERINDEXDESC( kolekcia )
Príklady:
ORDERINDEXDESC(3, 1, 2) → {0, 2, 1}
ORDERINDEXDESC(1) → {0}
ORDERINDEXDESC(3, NaN, 2) → {0, 2}
ORDERINDEXDESC(NaN) → {}
ORDERINDEXDESC('Z', 'a', 'X') → {1, 0, 2}
ORDERINDEXDESC("str1", "STR2", "stR1") → {0, 2, 1}
Funkcia ORDERINDEXDESCSTRICT
zoradí poskytnuté vstupné hodnoty zostupne, podobne ako funkcia ORDERDESC
.
Namiesto toho, aby vrátila zoradené hodnoty, vráti kolekciu indexov, ktoré označujú pôvodné pozície hodnôt v zoradenom poradí.
Podporuje 1 až 100 argumentov alebo jednu kolekciu. Hodnoty nemusia byť číselné, ale musia byť porovnateľné (napr. čísla, TIMESPAN
, DATETIME
, reťazce).
Zmiešané typy (napr. čísla a reťazce naraz) nie sú povolené.
Hodnoty NaN
a NULL
sú zahrnuté a vždy zoradené na začiatku výsledku.
ORDERINDEXDESCSTRICT( hodnota1, hodnota2, hodnota3 , … )
ORDERINDEXDESCSTRICT( kolekcia )
Príklady:
ORDERINDEXDESCSTRICT(3, 1, 2) → {0, 2, 1}
ORDERINDEXDESCSTRICT(1) → {0}
ORDERINDEXDESCSTRICT(3, NaN, 2, NaN) → {1, 3, 0, 2}
ORDERINDEXDESCSTRICT(NaN) → {0}
ORDERINDEXDESCSTRICT('Z', 'a', 'X') → {1, 0, 2}
ORDERINDEXDESCSTRICT("str1", "STR2", "stR1") → {0, 2, 1}
ORDERINDEXDESCSTRICT("str1", NULL, "STR2", "stR1") → {1, 0, 3, 2}
Vytvorí objekt DateTime, ktorý reprezentuje dátum a čas. DateTime.Ticks predstavuje počet milisekúnd od 1.1.0001 00:00:00.000. DateTime obsahuje nasledujúce vlastnosti: TICKS, YEAR, MONTH, DAY, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, SECOND, MILLISECOND, KIND, UTCDATETIME, LOCALDATETIME, UNIXTIME
DATETIME( ticks, DateTimeKind ) DATETIME( string, format ) DATETIME( string, DateTimeKind ) DATETIME( rok, mesiac, deň, hodina, minúta, sekunda, milisekunda, DateTimeKind )
Príklady:
VAR date := DATETIME(2014, 12, 8, 23, 54, 12, 456);
VAR date := DATETIME(2014, 12, 8, 23, 54, 12, 456, DateTimeKind.Local);
VAR date := DATETIME(2014, 12, 8, 23, 54, 12, 456, DateTimeKind.Utc);
VAR date := DATETIME("13:36");
VAR date := DATETIME("2022-08-03T07:39:03.688133+05:00");
VAR date := DATETIME("03.01 2008 10:00");
VAR date := DATETIME(518832000);
VAR date := DATETIME(518832000, DateTimeKind.Utc);
VAR date := NOW(); date.YEAR := 1999;
DATETIME date; date.UNIXTIME := 123456;
Vráti objekt DateTime, ktorý je nastavený na aktuálny dátum a čas v lokálnej časovej zóne. NOW()
Príklady:
VAR now := NOW();
Funkcia TIMESPAN vytvorí objekt, ktorý reprezentuje časový interval, definovaný v dňoch, hodinách, minútach, sekundách a milisekundách. Má vlastnosti na priame získanie každej časti intervalu: DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS. Má aj vlastnosti na celkový počet jednotiek času: TOTALDAYS, TOTALHOURS, TOTALMINUTES, TOTALSECONDS, TOTALMILLISECONDS.
TIMESPAN( dni, hodiny, minúty, sekundy, milisekundy )
Príklady:
VAR t := TIMESPAN(1, 2, 3, 4, 0);
t.TOTALSECONDS
Výsledok: 93784.
Vráti lokálnu časovú zónu ako počet milisekúnd od UTC času. LOCALTIMEZONE()
Príklady:
VAR timezoneDiff := LOCALTIMEZONE();
Pridá špecifikovaný počet rokov, mesiacov, dní, hodín, minút, sekúnd a milisekúnd k existujúcemu objektu DateTime a vráti nový DateTime.
DATETIMEADD(datetime, years, months, days, hours, minutes, seconds, milliseconds)
Príklady:
VAR dt := NOW();
VAR yearBefore := DATETIMEADD(dt, -1);
Konvertuje reťazec na číselnú hodnotu. Vráti NaN v prípade chyby.
TODOUBLE( text )
Príklady:
TODOUBLE("232") → 232
TODOUBLE("-192.332") → -192.332
TODOUBLE("some text") → NaN
Vráti reťazcovú reprezentáciu hodnoty alebo kolekcie podľa zadaného kódovania. Kódovanie je voliteľné (predvolené: iso-8859-1).
TOSTRING(hodnota, kódovanie)
Príklady:
TOSTRING(192, "X") → "C0"
TOSTRING(192, "X4") → "00C0"
TOSTRING(192, "F4") → "123.3400"
TOSTRING(192, "F0") → "123"
TOSTRING(BYTECOLLECTION("48656c6c6f")) → "Hello"
TOSTRING(192, "X4") → "00C0"
Konvertuje reťazec na bajtové pole podľa zadaného kódovania. Kódovanie je voliteľné (predvolené: iso-8859-1).
TOBYTEARRAY( reťazec, kódovanie )
Príklady:
TOBYTEARRAY("Hello") → Bajtové pole 48656c6c6f
Konvertuje definíciu farby RGB a vráti farbu vo formáte Odtieň / Sýtosť / Jas.
RGBTOHSV( r, g, b )
(r, g, b ... 0 - 0xFF)
Príklad:
VAR HSVColor := RGBTOHSV( r, g, b );
VAR saturation := HSVColor.Saturation; *(Sýtosť ... 0 - 1)*
VAR hue := HSVColor.Hue; *(Odtieň ... 0 - 360)*
VAR value := HSVColor.Value; *(Jas ... 0 - 1)*
Konvertuje farbu definovanú vo formáte Odtieň / Sýtosť / Jas a vráti farbu v RGB formáte. HSVTORGB( odtieň, sýtosť, jas )
Príklad:
VAR color := HSVTORGB( odtieň, sýtosť, 1);
VAR red := color.red; *(Červená ... 0 - 0xFF)*
VAR green := color.green; *(Zelená ... 0 - 0xFF)*
VAR blue := color.blue; *(Modrá ... 0 - 0xFF)*
Vráti časť vstupného textu na základe ľavého a pravého vyhľadávacieho vzoru. PARSETEXT( vstup, ľavý_vzor, pravý_vzor )
Príklady:
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum", "amet") → "dolor sit"
PARSETEXT("12.2", "", "12.2", "") → 12.2
PARSETEXT("status:ok,error:none", "status:") → "ok"
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum") → "dolor"
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum…sit") → "amet"
PARSETEXT("Lorem ipsum dolor sit amet consectetur adipiscing", "ipsum…sit", "adipiscing") → "amet consectetur"
Vráti hodnotu prvku zo JSON reťazca. Prvok je špecifikovaný cez JSON path. PARSEJSON( json_reťazec, json_cesta, ignorovať_chybu )
Príklady: S json = { "firstName": "John", "lastName": "Doe", "age": 26, "address": { "streetAddress": "naist street", "city": "Nara", "postalCode": "630-0192" } }
PARSEJSON(json, "firstName") → "John"
PARSEJSON(json, "address.city") → "Nara"
PARSEJSON(json, "address.country") → (chyba)
PARSEJSON(json, "address.country", 0) → (chyba)
PARSEJSON(json, "address.city", 1) → null
Vráti hodnotu prvku z XML reťazca. Prvok je špecifikovaný cez XML path. PARSEXML( xml_reťazec, xml_cesta )
Príklady: S xml =
xml
Gambardella, Matthew
PARSEXML(xml, "//catalog/book[1]/price") → 44.95
PARSEXML(xml, "//book[2]/title") → "Midnight Rain"
PARSEXML(xml, "//book[1]/@id") → "bk101"
PARSEXML(xml, "//catalog/magazine[1]/price") → null
Ak XML obsahuje menné priestory, musíte úplne špecifikovať názvy prvkov aj s menným priestorom. Napríklad: PARSEXML(xml, "//DIDL-Lite:container[dc:title='My Playlist']/DIDL-Lite:res");
Konvertuje definíciu farby RGB a vráti farbu vo formáte Odtieň / Sýtosť / Jas.
RGBTOHSV( r, g, b )
(r, g, b ... 0 - 0xFF)
Príklad:
VAR HSVColor := RGBTOHSV( r, g, b );
VAR saturation := HSVColor.Saturation; *(Sýtosť ... 0 - 1)*
VAR hue := HSVColor.Hue; *(Odtieň ... 0 - 360)*
VAR value := HSVColor.Value; *(Jas ... 0 - 1)*
Konvertuje farbu definovanú vo formáte Odtieň / Sýtosť / Jas a vráti farbu v RGB formáte. HSVTORGB( odtieň, sýtosť, jas )
Príklad:
VAR color := HSVTORGB( odtieň, sýtosť, 1);
VAR red := color.red; *(Červená ... 0 - 0xFF)*
VAR green := color.green; *(Zelená ... 0 - 0xFF)*
VAR blue := color.blue; *(Modrá ... 0 - 0xFF)*
Vráti časť vstupného textu na základe ľavého a pravého vyhľadávacieho vzoru. PARSETEXT( vstup, ľavý_vzor, pravý_vzor )
Príklady:
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum", "amet") → "dolor sit"
PARSETEXT("12.2", "", "12.2", "") → 12.2
PARSETEXT("status:ok,error:none", "status:") → "ok"
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum") → "dolor"
PARSETEXT("Lorem ipsum dolor sit amet", "ipsum…sit") → "amet"
PARSETEXT("Lorem ipsum dolor sit amet consectetur adipiscing", "ipsum…sit", "adipiscing") → "amet consectetur"
Vráti hodnotu prvku zo JSON reťazca. Prvok je špecifikovaný cez JSON path. PARSEJSON( json_reťazec, json_cesta, ignorovať_chybu )
Príklady: S json = { "firstName": "John", "lastName": "Doe", "age": 26, "address": { "streetAddress": "naist street", "city": "Nara", "postalCode": "630-0192" } }
PARSEJSON(json, "firstName") → "John"
PARSEJSON(json, "address.city") → "Nara"
PARSEJSON(json, "address.country") → (chyba)
PARSEJSON(json, "address.country", 0) → (chyba)
PARSEJSON(json, "address.city", 1) → null
Vráti hodnotu prvku z XML reťazca. Prvok je špecifikovaný cez XML path. PARSEXML( xml_reťazec, xml_cesta )
Príklady: S xml =
xml
Gambardella, Matthew
PARSEXML(xml, "//catalog/book[1]/price") → 44.95
PARSEXML(xml, "//book[2]/title") → "Midnight Rain"
PARSEXML(xml, "//book[1]/@id") → "bk101"
PARSEXML(xml, "//catalog/magazine[1]/price") → null
Ak XML obsahuje menné priestory, musíte úplne špecifikovať názvy prvkov aj s menným priestorom. Napríklad: PARSEXML(xml, "//DIDL-Lite:container[dc:title='My Playlist']/DIDL-Lite:res");