Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Makro výraz $.expr

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

$.expr("výraz")

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

Konstanty. Čí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.
Proměnnou pMe. 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.
Proměnnou pDE. 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.
Proměnnou Pm. 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 jenom tehdy, 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