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ží.