Promotic

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í! Řetězcové 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ím souboru, 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ém rozšíření.
- 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) vrací 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) vrací 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, s řetězci, s poli, s datumem a časem, 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í hodnotu typu String.
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) vždy vrací hodnotu typu String, který se pomocí metody 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 Access (.mdb) pro potřeby objektu PmaTrendGroup.
Název souboru je totožný s identifikačním názvem skupiny trendů (viz vlastnost PmaTrendGroup.GroupId).
$.path("data",$.expr("'trend/'+pMe.GroupId+'.mdb'"))

Konfigurátory 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.