GetValueByTime - metoda objektu PmaTrendGroup
Popis:
Vrací hodnotu (nebo více hodnot) proměnné (více proměnných) podle zadaného času.
Pokud je nalezen čas zadaný v parametru tTime se zadanou přesností (v parametru sStyle), pak jsou vráceny hodnoty žádaných proměnných odpovídající nalezenému času.
Syntaxe:
Variant GetValueByTime(String sWhat, Date tTime, Long nTimeType, String sStyle)
Parametry:
sWhat | (String) Specifikace proměnné (nebo proměnných), jejíž uchovaná(é) hodnota(y) se mají vrátit.
Lze zadat například:
"a1;"
nebo "a1;a2;a3;" pokud se má vrátit pole hodnot (proměnných s názvy a1.. a3 karty " Data")
nebo "time;", pokud se má vrátit i čas.
U proměnných je nutno zachovat pořadí podle pořadí v kartě. Například pokud pořadí proměnných v kartě je a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně.
Výběr času lze změnit zadáním "time:winter;", a tehdy se vrátí všechny hodnoty času jako "zimní čas", v jiném případě jako "lokální čas". |
tTime | (Date) Čas, jehož záznam hodnot proměnných má být vyhledán. |
nTimeType | (Long) Typ času v parametru tTime.
1 - tTime je "lokální čas" ("zimní čas" v zimním období a "letní čas" v letním období, odpovídá času počítače podle místního nastavení systému Windows)
2 - tTime je "zimní čas" (v letním i v zimním období). |
sStyle | (String) Způsob vyhledání času zadaného v parametru tTime.
"eq:xxx" - Hledá se záznam, jehož časová známka je rovna času tTime. Řetězec xxx určuje přesnost rovnosti.
Pro xxx jsou dovoleny hodnoty Nsec, Nmin, kde N je reálné číslo udávající počet sekund resp. počet minut.
Pokud například objekt PmaTrendGroup uchovává hodnoty 15 sekundové (...,14:00,14:15,14:30,...), pak při zadání tTime=čas 14:17, sStyle="eq:3sec" bude nalezen záznam proměnných s časovou známkou 14:15.
"newest" - Hledá se nejnovější záznam. V parametru tTime je nutno nastavit hodnotu 0.
"oldest" - Hledá se nejstarší záznam. V parametru tTime je nutno nastavit hodnotu 0. |
---|
Vrácená hodnota:
Metoda vrací hodnotu (pole hodnot) proměnné (více proměnných).
Pokud čas zadaný v parametru
tTime není nalezen, pak metoda vrací:
null pro
JavaScript nebo
Empty pro
VBScript (lze testovat metodou
Pm.IsValid).
Poznámka:
Metoda může zároveň s vrácenými hodnotami vrátit i nalezený čas, který se může od času v parametru tTime lišit, nanejvýš ale o výše zmíněnou přesnost. Viz příklady.
Příklad1:
Vyhledá záznam podle času tTime. Časová známka záznamu se může lišit od času tTime maximálně o 1 sekundu. Nalezený čas bude vrácen jako první hodnota v poli values, druhou hodnotou bude hodnota proměnné a0 v nalezeném čase, třetí hodnotou bude hodnota proměnné a1.
JavaScriptVBScriptVyber a zkopíruj do schránky
var values, tTime;
var oTrend = pMe.Pm("/Trends");
values = oTrend.GetValueByTime("time;a0;a1", tTime, 1, "eq:1sec");
if (Pm.IsValid(values))
{
Pm.Debug(values.GetItem(0));
Pm.Debug(values.GetItem(1));
Pm.Debug(values.GetItem(2));
}
Dim values, tTime, oTrend
Set oTrend = pMe.Pm("/Trends")
values = oTrend.GetValueByTime("time;a0;a1", tTime, 1, "eq:1sec")
If Pm.IsValid(values) Then
Pm.Debug(values(0))
Pm.Debug(values(1))
Pm.Debug values(2)
End If
Příklad2:
Vyhledá záznam podle času tTime. Časová známka záznamu se může lišit od času tTime maximálně o 1.5 minuty. Nalezený čas NENÍ vrácen. Jako první hodnota v poli values je vrácena hodnota proměnné a0 v nalezeném čase, druhá hodnota je hodnota proměnné a1.
JavaScriptVBScriptVyber a zkopíruj do schránky
var values, tTime;
var oTrend = pMe.Pm("/Trends");
values = oTrend.GetValueByTime("a0;a1", tTime, 1, "eq:1.5min");
if (Pm.IsValid(values))
{
Pm.Debug(values.GetItem(0));
Pm.Debug(values.GetItem(1));
}
Dim values, tTime, oTrend
Set oTrend = pMe.Pm("/Trends")
values = oTrend.GetValueByTime("a0;a1", tTime, 1, "eq:1.5min")
If Pm.IsValid(values) Then
Pm.Debug(values(0))
Pm.Debug values(1)
End If
Historie:
Pm8.00.03:
Opravená chyba: nefungovala správně pokud konfigurátor "
Typ uložení" je nastaven na jeden z typů
"cyclic".