Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Datová vazba E - Vazba na obecný výraz

Popis:
Výsledkem datové vazby je hodnota po vyhodnocení zadaného obecného výrazu. Hodnota může být typu číslo (Integer, Single ..), Boolean nebo String.
Konfigurátory datové vazby:
Řídící proměnnéV tomto poli lze definovat řídící proměnné. První proměnná má název v1, druhá v2, atd. Názvy proměnných se pak použijí v obecném výrazu.

U každé proměnné se definuje datová vazba, která se vyhodnotí vždy před výpočtem obecného výrazu.

PřidatPřidání nové řídící proměnné na konec seznamu.
VložitVložení nové řídící proměnné nad označenou proměnnou.
SmazatSmazání označené řídící proměnné.
JavaScript výrazVýraz zapsaný v syntaxi jazyka JavaScript. Viz Operátory JavaScript a popis syntaxe.

Pro zadání lze použít Makro výraz (vyhodnocuje se při otevírání okna).

 
Ve výrazu lze používat:
- objekt Pm: například jeho matematické a stringové metody. Viz příklad Příklad3.
- objekt pMe: představuje grafický prvek, ve kterém je tato datová vazba. Viz příklad Příklad4.

Upozornění: Pomocí pMe v této datové vazbě lze získat jakoukoli hodnotu jakéhokoli grafického prvku v daném obraze. Nemělo by se však toto zneužívat pro volání pMe.PmPanel.Methods, protože toto volání způsobí synchronní komunikaci ze serverem a na WEB klientech by tak mohlo dojít k velkému komunikačnímu zatížení.

 
Upozornění: Nezadáva se zde výraz ve tvaru VBScript, protože pomocí něho nelze vytvořit některé velmi užitečné tvary výrazu, například podmíněné vyhodnocení (v JavaScript například výraz tvaru (v1 ? 2 : 3), viz Příklad2).
Poznámka:
Tato datová vazba je funkční i pro Web Obrazy. Samotné vyhodnocení vazby nepotřebuje komunikaci s WEB serverem (s aplikací PROMOTIC) - vyhodnocení se provádí na straně klienta (tzn. na straně WEB prohlížeče).
Příklad1:
Jednoduchý výraz obsahující dvě proměnné v1 a v2, násobení, sčítání, dělení, odčítání a závorky.
2 * (v1 + 3) / 2 - v2
Příklad2:
Výraz vrací String a obsahuje podmíněné vyhodnocení (? :). Jestliže v1 má hodnotu 1, pak je vrácen "start", jinak "stop".
v1==1 ? "start" : "stop"
Příklad3:
Výraz vrací hodnotu funkce sinus.
Pm.Sin(v1)
Příklad4:
Při výpočtu se zavolá uživatelská metoda "MyMethod" grafického prvku.
1 + pMe.Methods.MyMethod(v1)
Příklad5:
Složitější výraz s vícenásobným podmíněným vyhodnocením (takový výraz někdy může nahradit datovou vazbu T - Vazba na výpočet podle tabulky hodnot).
- když v1 má hodnotu 0, pak výsledek je 12
- když v1 má hodnotu 1, pak výsledek je 24
- když v1 má hodnotu 2, pak výsledek je 50
- jinak je výsledek 0
v1==0 ? 12 : (v1==1 ? 24 : (v1==2 ? 50 : 0))
Příklad6:
Příklad na lineární přepočet hodnoty. Tento výraz je vhodný jako náhrada datové vazby LN - Vazba na výpočet podle lineární funkce. Chceme aby lineární přepočet byl následující (hodnoty 80, 90, 5, 6 lze zaměnit za jakékoli jiné):
- když v1 je 80, tak výsledek je 5
- když v1 je 90, tak výsledek je 6
(v1-80)*(6-5)/(90-80) + 5
 
Pokud ještě navíc chceme aby
- když v1 je menší nebo rovno 80, tak výsledek je pořád 5
- když v1 je větší nebo rovno 90, tak výsledek je pořád 6
v1<=80 ? 5 : (v1>=90 ? 6 : ((v1-80)*(6-5)/(90-80) + 5))
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice