Skript pro změnu proměnné

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Skript pro změnu proměnné

Postby Kushnerov » Fri 21. May 2021 17:57:37

Dobrý den.
Vytvářím dvě proměnné a tlačítko. Když kliknu na tlačítko, spustí se skript, který převede hodnotu z var1 na var2.

Code: Select all
var var1 = pMe.Pm ("/ Data / # vars / var1");
var var2 = Pm.Pm ("/ Data / # vars / var2");
var2.Value = var1.Value;
Pm.Debug („dobrý“);


Ale nefunguje to. Připojuji projekt.
Attachments
MyApp.zip
(16.96 KiB) Downloaded 6 times
Kushnerov
 
Posts: 2
Joined: Sat 11. Jan 2020 19:26:29

Re: Skript pro změnu proměnné

Postby albiman » Thu 03. Jun 2021 6:42:12

Tento způsob práce s proměnnými v PmaData byl možný pouze u starších verzí Promoticu ve VBscriptu.
Od širšího rozvoje aplikací na web prostředí a JavaScript (více oddělené prostředí Pma a Pmg), je nutný jiný způsob práce s objekty v PmaData:
- Na kartě "proměnné" ve vlastnostech tlačítka (viz obrázek), kde se provádí skript, se vytvoří proměnné například webvarX s datovou vazbou PP na objekt PmaData (tím je zajištěna obousměrná vazba pro aktuální hodnotu).
Dále pak ve skriptu události OnButtonUp pak přistupujeme k proměnným grafického prvku, zde tlačítko (lze i přistupovat k jiným grafickým objektům). Zápisem do těchto proměnných se díky datové vazbě PP přenesou hodnoty do proměnných PmaData objektu.
Code: Select all
var var1 = pMe.Items("#vars/webvar1");
var var2 = pMe.Items("#vars/webvar2");
var2.Value = var1.Value;
Pm.Debug("Ok");


Obecně doporučuji takto pracovat s daty mezi Pma objekty a Pmg prvky. Je to bezpečný způsob práce pro webový přístup a i v pouze čistě lokální aplikaci se takto předejde ke komplikacím v budoucnu při upgradu na novější verze Promoticu.
Tento způsob používám i při předávání proměnných v rámci grafického prvku, potažmo celé obrazovky (k jednotlivým grafickým prvkům lze přistupovat obdobně).
V případě nutnosti změny cesty/objektu v Pma stačí pak provést změnu pouze na jednom místě obrazu.

V případě nutnosti např. vyvolání alarm/event události z grafického prostředí, je nejlepší z obrazu volat uživatelskou metodu PmaPanelu v aplikaci, kde se provede zápis proměnné a zároveň událost.

Dále je velmi užitečný průvodce skriptem (pravé myšítko v okně skriptu).

Snad jsem to popsal srozumitelně. :D
Attachments
pmg_vars.png
pmg_vars.png (26.5 KiB) Viewed 39 times
albiman
 
Posts: 25
Joined: Tue 12. Feb 2013 21:51:12


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 1 guest

cron