Promotic

tvTrend - Podrobný popis objektu

Viz: objekt tvTrend.

Objekt typu tvTrend představuje průběh jedné proměnné. Průběh je uložen jako množina datových bodů v podobjektu typu tvPoints. Tento buffer objektu tvPoints je plněn buď automaticky při jakékoli změně časů časové osy (pokud objekt tvTrend byl připojen ke zdroji dat metodou Connect) nebo, pokud objekt tvTrend nebyl připojen, pak lze tento buffer plnit voláním metod objektu tvPoints.
Objekt tvTrend v prohlížeči implicitně neexistuje, vzniká například voláním metody PmgTrendViewer.AddTrend. Každý objekt tvTrend je jednoznačně identifikován svým identifikátorem ID.

Průběh jedné proměnné objektu tvTrend může být vykreslován více objekty typu tvGraph. Opakované volání metody AddGraph vytvoří kontejner objektů tvGraph. Při vykreslení je množina datových bodů trendu vyhodnocována jednotlivými objekty typu tvGraph dle funkce platnosti. Pro kreslení je použit právě ten objekt tvGraph, jehož funkce platnosti je splněna. Tato funkce platnosti například říká kreslí se tímto grafem, pokud hodnoty trendovaných bodů překročí hodnotu 100. Pak v časové oblasti, kde hodnoty trendovaných bodů překračují hodnotu 100, je pro kreslení použit právě tento objekt tvGraph. Pokud je objektů se splněnou funkcí platnosti více, pak je z nich použit ten s nejvyšší prioritou (prvně přidaný graf pomocí AddGraph(...) má nejvyšší prioritu, naposledy přidaný má nejnižší prioritu).
Tento algoritmus je použit pro kreslení jak v grafickém, tak i v tabulkovém módu.
Pokud nebyl přidán žádný objekt tvGraph (nebyla vůbec volána metoda tvTrend.AddGraph), pak je trend vykreslován vždy existujícím implicitním objektem GraphDefault. Tento implicitní objekt tvGraph má vždy ze všech nejnižší prioritu a jeho funkce platnosti je splněna vždy.

Příklad1:
Tento komplexní příklad vytváří v prohlížeči nový objekt typu tvTrend, připojuje ho voláním metody Connect k datům vzdáleného počítače s názvem "computer", a to k proměnné a1 skupiny group1 v serveru trendy na tomto počítači computer. Průběh trendu je vykreslován předzkonstruovaným objektem typu tvGraph (viz proměnná oGraphDef), jehož parametry jsou nastaveny také.
JavaScriptVBScriptVyber a zkopíruj do schránky

var bConnect, oGraphDef;
var oTView = pMe.Items("../TrendView");
var oTrend = oTView.AddTrend("t1", "Teplota");

if (oTrend)
{
bConnect = oTrend.Connect(2, "http://computer/trends", "group1", "a1", 0);
oTrend.TableColumnWidth = 80;   // Nastavení pro tabulkový mód prohlížeče
if (bConnect)
{
oGraphDef = oTrend.GraphDefault;
// ...Nastavení pro grafický mód prohlížeče
oGraphDef.Type = "Linear";
oGraphDef.Color = "#00ff00";   // nastavení barvy jako RGB String v podobě "#RRGGBB"
oGraphDef.FillType = 1;
oGraphDef.FillColor = "#008800";
oGraphDef.PointsVisible = true;
oGraphDef.PointsType = 3;
oGraphDef.PointsSize = 8;
oGraphDef.PointsColor = "#000000";
// ...Nastavení pro tabulkový mód prohlížeče
oGraphDef.TableBgColor = "#aaaaaa";
oGraphDef.TableTextColor = "#00ff00";
oGraphDef.TableFont.Size = 11;
}
else
{
// ... error
}
}
Příklad2:
Tento komplexní příklad vytváří v prohlížeči nový objekt typu tvTrend, připojuje ho voláním metody Connect k datům vzdáleného počítače s názvem "computer", a to k proměnné a1 skupiny group1 v serveru trendy na tomto počítači computer. Dále nastaví parametry pro kreslení a vytváří (a nastavuje parametry) nový objekt typu tvGraph pro kreslení časových úseků průběhu trendu, kdy hodnoty překračují konstantu 100. V ostatních časových úsecích se kreslí předzkonstruovaným objektem typu tvGraph (viz proměnná oGraphDef), jehož parametry jsou nastaveny také.
JavaScriptVBScriptVyber a zkopíruj do schránky

var bConnect, oGraphDef, oGraph;
var oTView = pMe.Items("../TrendView");
var oTrend = oTView.AddTrend("t1", "Teplota");

if (oTrend)
{
bConnect = oTrend.Connect(2, "http://computer/trends", "group1", "a1", 0);
if (bConnect)
{
oGraphDef = oTrend.GraphDefault;
oGraphDef.Type = "Linear";
oGraphDef.Color = "#00ff00";   // nastavení barvy jako RGB String v podobě "#RRGGBB"
oGraphDef.FillType = 1;
oGraphDef.FillColor = "#008800";

oGraph = oTrend.AddGraph(1, 0, "LimitVal(gt;100)");
if (oGraph)
{
// ...Nastavení pro grafický mód prohlížeče
oGraph.Type = "Linear";
oGraph.Color = "#ff0000";
oGraph.FillType = 11;
oGraph.FillColor = "#880000";
oGraph.PointsVisible = true;
oGraph.PointsType = 3;
oGraph.PointsSize = 8;
oGraph.PointsColor = "#000000";
// ...Nastavení pro tabulkový mód prohlížeče
oGraph.TableBgColor = "#666666";
oGraph.TableTextColor = "#ff0000";
oGraph.TableFont.Bold = true;
}
else
{
// ... error
}
}
else
{
// ... error
}
}
© MICROSYS, spol. s r.o.