Prohlížečka trendů

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

Prohlížečka trendů

Postby kmpc » Tue 12. Mar 2019 7:27:44

Dobrý den,
otevřu si prohlížečku trendů, navolím si proměnné, které chci zobrazit. Pokud opustím okno s prohlížečkou, následně si ji znova otevřu, tak musím proměnné, které jsem měl předtím zobrazené navolit znova.
Chtěl bych se zeptat, zda je možné (a jak) uložit si poslední nastavení prohlížečky, které si při dalším otevření okna vyvolám.
Jak by se toto dalo řešit pro klienty přes web?

Děkuji za odpověď.
kmpc
 
Posts: 30
Joined: Thu 12. May 2016 6:39:20

Re: Prohlížečka trendů

Postby Pavel Klimíček » Wed 13. Mar 2019 11:06:40

Dobrý den.
Nevím jakou verzi PROMOTIC používáte.
Proto popíšu způsob platný pro některou z posledních verzí 8.3.x.

- V obraze který obsahuje prohlížečku trendů založte dvě uživatelské metody nazvané LoadCfgIni a SaveCfgIni s parametrem nazvaným sCfg.
metoda "SaveCfgIni" bude obsahovat tento skript:
Code: Select all
Pm.FileTextWrite "#cfg:" & pContext.User.Name & "_" & "CfgIni.tg", sCfg, false

metoda "LoadCfgIni" bude obsahovat:
Code: Select all
pResult = Pm.FileTextRead("#cfg:" & pContext.User.Name & "_" & "CfgIni.tg", 0)


a nyní v obraze v grafickém objektu prohlížečka trendů bude v metodě "Init" tento skript:
Code: Select all
//#pragma variable sName=Macro("$.text('sys','name')");
//#pragma variable sUnit=Macro("$.text('sys','unit')");
//#pragma variable sMin=Macro("$.text('sys','minimum')");
//#pragma variable sMax=Macro("$.text('sys','maximum')");
//#pragma variable sValue=Macro("$.text('sys','value')");

var i, oTHead = pMe.Items("../TrendHead").Acx;
var oTView = pMe.Acx;

oTHead.SetCellText(0, 2, sName);
oTHead.SetCellText(0, 3, sUnit);
oTHead.SetCellText(0, 4, sMin);
oTHead.SetCellText(0, 5, sMax);
oTHead.SetCellText(0, 6, sValue);

var sCfg = pMe.PmPanel.Methods.LoadCfgIni();
if (sCfg!="")
{
  oTView.LoadCfg("string:" + sCfg, 11);
  oTView.ReadData();
  oTView.Draw();
}
pMe.Vars("CfgIni").Value = oTView.GetCfg("Trends;TimeZoom;", "")


a v události "onStop" stejného objektu:
Code: Select all
var oTView = pMe.Acx;
var sCfg = oTView.GetCfg("Trends;TimeMinMax;", "");
pMe.PmPanel.Methods.SaveCfgIni(sCfg);


Tím máte zaručeno, že každý uživatel bude mít uloženou svou vlastní poslední konfiguraci prohlížečky, která se při otevření obrazu načte a při opuštění uloží.
Pavel Klimíček
 
Posts: 73
Joined: Thu 13. Dec 2012 15:35:59


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 2 guests