Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Makro výraz $.expr

Makro výraz vrací vyhodnocený výraz zapsaný v syntaxi JavaScript.
 
Syntaxe:

$.expr("výraz")

kde "výraz" může obsahovat:

- Konstanta: Číselné (např. 1, 3.14) nebo řetězcové (např. '.mdb', 'Tlak').

Upozornění! Řetezcové konstanty se musí psát s jednoduchými uvozovkami (pokud pro celý výraz byly použity uvozovky dvojné) nebo před uvozovku dát zpětné lomítko \".

- Jiná makra: Lze tak zpřístupnit například Parametry PROMOTIC objektu, Parametry grafického prvku, cesty k souborům, hodnoty v konfiguračních souborech, atd.
- pMe proměnná: Představuje PROMOTIC objekt nebo Grafický prvek - podle toho ve kterém objektu je makro definováno. Pomocí pMe lze pak standardně přistupovat na vlastnosti nebo metody. Upozornění! Tato proměnná není funkční pro Web obrazy a v datových rozšířeních.
- pDE proměnná: Pouze pro datová rozšíření, kde nahrazuje proměnnou pMe. Představuje skriptovací rozhraní vlastního datového rozšíření, viz Datová rozšíření. Vlastnost pDE.Var (například ExtAlarmAnalog.Var) zpřístupňuje objekt Var, ve kterém je datové rozšíření umístěno.
- Pm proměnná: Představuje objekt Pm.

Upozornění! Jedná se o speciální omezenou verzi objektu Pm, ve kterém jsou dostupné funkce pro práci s matematikou, řetězci, poli, datumem, atd., ve kterém ale nejsou dostupné funkce související s vlastní aplikací nebo systémem PROMOTIC (např. přihlášený uživatel, priorita aplikace, datum spuštění, vyvolání globální metody, atd.).

Příklad1:
Hodnota parametru xx je 3. Pak vyhodnocený výraz bude mít hodnotu 13yy (ne 4yy), protože došlo k řetězcovému sečtení. Hodnota parametru ($.par) vrací vždy řetězec. JavaScript provede operaci + jako řetězcové sečtení vždy, pokud je aspoň jeden z operandů řetězec. K matematickému sečtení dojde pouze pokud oba operandy jsou číselného typu (viz Příklad2).
$.expr("1+$.par('xx',0)+'yy'")
Příklad2:
Hodnota parametru xx je 3. Pak vyhodnocený výraz bude mít hodnotu 4yy, protože došlo k matematickému sečtení. Hodnota parametru ($.par) vrací vždy řetězec, který se pomocí konverzní funkce Pm.ToNumber zkonvertuje na číslo. JavaScript provede operaci + jako matematické sečtení, protože oba operandy jsou číselného typu (na rozdíl od Příklad1).
$.expr("1+Pm.ToNumber($.par('xx',0))+'yy'")
Příklad3:
Cesta k databázovému souboru databáze Microsoft Access (.mdb) pro potřeby objektu PmTrend. Název souboru je totožný s identifikačním názvem trendové skupiny (Viz vlastnost PmTrend.GroupId).
$.path("data",$.expr("'trend/'+pMe.GroupId+'.mdb'"))

Konfigurační položky v editoru rozšířené hodnoty:
JavaScript výrazVýraz zapsaný v syntaxi JavaScript
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice