Promotic

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 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));
}
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 1/2 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));
}

Historie:
Pm8.00.03: Opravená chyba: nefungovala správně pokud konfigurátor "Typ uložení" je nastaven na jeden z typů "cyclic".
© MICROSYS, spol. s r.o.