Návody > Bezpečné nastavení hodnoty >Příklad hromadného nastavení

Příklad hromadného nastavení

Na jednoduchém příkladu budou uvedeny postupy pro nastavení hodnoty zdrojové proměnné, její kontroly a následného odeslání do cílové proměnné.

prod_tip_sm Tip!

Příklad bezpečného hromadného nastavení hodnot naleznete v sekci ke stažení, ProCop 3.7 pod názvem Tips and Tricks Sample 1.

Vložení modulu, proměnné a její nastavení

V Panelu nástrojů ProCop otevřeme v režimu Designer Správu projektu, vybereme Cesty a moduly vložíme modul Memory Database.

V položce Proměnné právě vytvořeného modulu vytvoříme zdrojovou proměnnou.

 

Ve vlastnostech a dynamizacích proměnné nastavíme parametry podle obrázku.

Note Poznámka:

Význam jednotlivých parametrů je uveden v kapitole Memory Database

 

Vlastnosti a dynamizace zdrojové proměnné

Vlastnosti a dynamizace zdrojové proměnné

 

V sekci Limity a přepočty v položce Formát výpisu zvolíme <User Table>

V položce Tabulka textů klikneme na tři tečky a vložíme tabulku stavů, například:

<Nezadáno>        (0)
Vypnuto                (1)
Zapnuto                (2)

 

 

V příkladu Tips and Tricks Sample 1 jsou vytvořeny tři cílové binární proměnné se stavy:

Vypnuto                (0)
Zapnuto                (1)

Note Poznámka:

Cílových proměnných může být libovolný počet. Také se nemusí jednat jen o binární proměnné. Stavů v pomocné zdrojové proměnné bude vždy o jeden navíc, iniciální.

Vytvoření dynamizace pro zadání zdrojové a kopírování do cílových proměnných

Pro nastavení, resetování a odeslání proměnné si vytvoříme dynamizaci lokální nabídka na libovolné entitě, například na tlačítku poi stisknutí levého tlačítka myší. V lokální nabídce umožníme nastavit hodnotu paměťové proměnné, resetovat tuto hodnotu do stavu <Nezadáno> a pokud je tato proměnná zadána, pak odeslat příkaz se shodným textem na datový server a spustit tak dynamizaci OnCommand.

Další obrázek je displej z ukázkového projektu Tips and Tricks Sample 1.

 

Tips and Tricks Sample 1, Display 1 - Odeslání hodnoty

Tips and Tricks Sample 1, Display 1 - Odeslání hodnoty

Ve vlastnostech a dynamizacích tlačítka vložíme v dynamizace na akci myší novou položku s těmito parametry:

Typ podmínky:        On Mouse

Podmínka:        Left Down

Typ akce:        Floating Menu

 

V lokální nabídce přidáme např. tři řádky nové řádky (případně s oddělovačem pro přehlednost), jak je vidět na obrázku. Tyto umožní nastavení a resetování zdrojové hodnoty a odeslání příkazu pro spuštění skriptu hromadného nastavení. Pro přehlednost jednotlivé řádky zneviditelňujeme dle toho, jak jsou potřeba. Pokud není zadána zdrojová hodnota, žádné další řádky nemají smysl a jsou neviditelné. Jakmile je hodnota zadána, zobrazuje se možnost jejího resetování, nebo zaslání do technologie.

 

Dynamizace tlačítka Set Value Dialog 

Dynamizace tlačítka Set Value Dialog 

Tlačítkem Načíst lze z formátu výpisu proměnné v databázi načíst a upravit předvolby v nastavovacím dialogovém okně. Můžeme odstranit volbu <Nezadáno>, jelikož ji umožňujeme resetovat zvláštní dynamizací.

 

Poslední řádek odešle dynamizací Send Command textový identifikátor na server, kde se provede dynamizace OnCommand se stejným identifikátorem. Tento postup zajistí, že se nikdy neodešle příkaz a nespustí nastavovací skript bez vědomí uživatele, pouze po stisknutí tohoto tlačítka a výběru "Odešli zdrojovou hodnotu".

 

V položce Aktivní výraz můžeme zadat podmínku zdrojové hodnoty větší než nula, která pokud nebude splněna, zneaktivní volbu odeslat hodnotu. Tímto zamezíme odeslání nezadané zdrojové hodnoty do cílové.

Na obrázku vidíme, jak vypadá nesplněná podmínka v akci.

 

prod_tip_sm Tip!

Pokud podmínky u jednotlivých řádku namísto do vlastnosti Viditelný (výraz) zadáme do vlastnosti Aktivní (výraz), a do Viditelný (výraz) zadáme hodnotu true, všechny řádky budou vždy viditelné a ty neplatné budou šedé a bez možnosti je stisknout. Tento přístup může být pro některé uživatele přehlednější.

 

Exclam Upozornění!

Parametr Command v akci Send Command musí být shodný s parametrem Command v globální dynamizaci OnCommand, aby se akce na serveru spustila.