Promotic
WikipediaLinkedInYoutubeTwitterFacebook

tvTrend - Podrobný popis objektu

Viz: Objekt tvTrend
 

Objekt typu tvTrend reprezentuje průběh jedné trendované veličiny. 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 byl objekt tvTrend připojen ke zdroji dat metodou Connect) nebo, pokud objekt tvTrend nebyl připojen, 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 TrendsView.AddTrend. Každý objekt tvTrend je jednoznačně identifikován svým identifikátorem ID.

 

Průběh jedné trendované veličiny 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. 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, je z nich použit ten s nejvyšší prioritou (prvně přidaný graf pomoci AddGraph(...) má nejvyšší prioritu, naposledy přidaný na nejnižší prioritu).

Tento algoritmus je použit při vykresování jak v grafickém, tak i v tabulkovém módu.

Pokud nebyl přidán žádný objekt tvGraph (nebylo vůbec voláno tvTrend.AddGraph), je trend vykreslován vždy existujícím implicitním objektem GraphDefault. Tento implicitní 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 jej voláním Connect k datům vzdáleného počítače s názvem computer, a to k veličině 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 oGraphDef), jehož parametry jsou nastaveny také.
Dim oTrend, oGraphDef
Set oTrend = oTView.AddTrend("t1", "Teplota")
If Not oTrend Is Nothing Then
  bConnect = oTrend.Connect(2, "http://computer/trends", "group1", "a1", 0)
  oTrend.TableColumnWidth = 80 ' nastavení pro tabulkový mód prohlížeče
  If bConnect Then
    Set oGraphDef = oTrend.GraphDefault
    '...nastavení pro grafický mód prohlížeče
    oGraphDef.Type = "Linear"
    oGraphDef.Color = "#00ff00" 'nastavení barvy jako RGB String
    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
  End If
Else
  ' .. error
End If
Příklad2:
Tento komplexní příklad vytváří v prohlížeči nový objekt typu tvTrend, připojuje jej voláním Connect k datům vzdáleného počítače s názvem computer, a to k veličině a1 skupiny group1 v serveru trendy na tomto počítači computer. Dále nastavuje 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 oGraphDef), jehož parametry jsou nastaveny také.
Dim oTrend, oGraph, oGraphDef
Set oTrend = oTView.AddTrend("t1", "Teplota")
If Not oTrend Is Nothing Then
  bConnect = oTrend.Connect(2, "http://computer/trends", "group1", "a1", 0)
  If bConnect Then
    Set oGraphDef = oTrend.GraphDefault
    oGraphDef.Type = "Linear"
    oGraphDef.Color = "#00ff00" 'nastavení barvy jako RGB String
    oGraphDef.FillType = 1
    oGraphDef.FillColor = "#008800"
    Set oGraph = oTrend.AddGraph(1, 0, "LimitVal(gt;100)")
    If Not oGraph Is Nothing Then
      '...nastavení pro grafický mód prohlížeče
      oGraph.Color = "#ff0000"
      oGraph.Type = "Linear"
      oGraph.FillType = 11
      oGraph.FillColor = "#880000"
      oGraph.FillColor2 = "#008800"
      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
    End If
  End If
Else
  ' .. error
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice