Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetValueByTime - metoda objektu PmTrend

Popis:
Metoda vrací hodnotu (pole hodnot) veličiny (více veličin) 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 veličin odpovídající nalezenému času. Metoda může zároveň s vrácenými hodnotami vrátit i nalezený čas, jenž se může od času parametru tTime lišit, nanejvýš ale o výše zmíněnou přesnost. Viz příklady.
Syntaxe:
GetValueByTime(sWhat As String, tTime As Date, nTimeType As Long, sStyle As String) As Variant
Volání:
values = oTrend.GetValueByTime(sWhat,tTime,nTimeType,sStyle)
Parametry:
sWhat(String) Specifikace veličiny (nebo veličin), jejíž uchovaná(é) hodnota(y) se mají vrátit. Lze zadat například:
"a1;" nebo "a1;a2;a3;" pokud se má vrátit pole veličin (s názvy a1..a3) ze záložky Data nebo
"time;", pokud se má vrátit i čas.

U veličin je nutno zachovat pořadí dle pořadí v záložce. Například pokud je pořadí veličin v záložce a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně.

Volbu času lze pozměnit zadáním "time:winter;", a tehdy se vrátí všechny hodnoty času jako "zimní čas", jinak jako "lokální čas".

tTime(Date) Čas, jehož záznam hodnot veličin 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 dle místního nastavení)
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 jsou například PmTrend objektem uchovány 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 veličin 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) veličiny (více veličin) nebo Empty, pokud čas zadaný v parametru tTime není nalezen.
Příklad1:
Vyhledává se 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 veličiny a0 v nalezeném čase, třetí hodnotou hodnota veličiny a1.
Dim values, tTime
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ává se 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 veličiny a0 v nalezeném čase, druhá hodnota je hodnota veličiny a1.
Dim values, tTime
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
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice