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 Pma objektu, Parametry Pmg objektu, cesty k souborům, hodnoty v konfiguračních souborech, atd.
- pMe proměnná: Představuje Pma objekt nebo Pmg objekt - 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 PmVar, ve kterém je datové rozšíření umístěno.
- pVar 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 pVar (například ExtAlarmAnalog.Var) zpřístupňuje objekt PmVar, 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 se systémem PROMOTIC (např. přihlášený uživatel, priorita aplikace, datum spuštění, volá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) vždy vrací řetězec. JavaScript provede operaci + jako řetězcové sečtení vždy, pokud je alespoň 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 PmaTrendGroup. Název souboru je totožný s identifikačním názvem trendové skupiny (Viz vlastnost PmaTrendGroup.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

Historie:
Pm9.00.07: Ve výrazu lze používat proměnnou pVar (objekt typu PmVar).
Pm8.02.05: Ve výrazu lze používat proměnnou pDE (objekt typu Datová rozšíření).
Pm8.02.00: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice