Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetValueByTime - metoda obiektu PmTrend

Opis:
Zwraca wartość (lub kilku wartości) danej (kilku danych) według określonego czasu.

Jeżeli jest odnaleziony czas wprowadzony w parametrze tTime z określoną dokładnością (w parametrze sStyle), wtedy są zwrócone wartości wymaganych danych odpowiadające odnalezionemu czasu.

Składnia:
GetValueByTime(sWhat As String, tTime As Date, nTimeType As Long, sStyle As String) As Variant
Wołanie:
values = oTrend.GetValueByTime(sWhat,tTime,nTimeType,sStyle)
Parametry:
sWhat(String) Określenie danej (lub danych), których zapisywane wartość(ci) ma(ją) zostać zwrócone. Można wprowadzić na przykład:
"a1;" lub "a1;a2;a3;" jeżeli ma zostać zwrócona tablica danych (o nazwach a1..a3) z zakładki Dane lub
"time;", jeżeli ma zostać zwrócony również czas.

W przypadku danych jest konieczne zachowanie kolejności według kolejności w zakładce. Na przykład jeżeli kolejność danych w zakładce jest następująca a1,a2,a3,..., wtedy w parametrze można wprowadzić na przykład "a1;a3;", lecz "a3;a1" jest już błędnym zapisem.

Wybór czasu można zmodyfikować przez wprowadzenie "time:winter;", wtedy wszytkie wartości czasu zostaną zwrócone jako "czas zimowy", w innym przypadku będą jako "czas lokalny".

tTime(Date) Czas, którego zapis danych wartości ma zostać odszukany.
nTimeType(Long) Typ czasu w parametrze tTime
1 - tTime jest "czas lokalny" ("czas zimowy" w okresie zimowym oraz "czas letni" w okresie letnim, odpowiada czasu komputera według lokalnego ustawienia Windows systemu)
2 - tTime jest "czas zimowy" (w okresie zarówno letnim jak i zimowym).
sStyle(String) Sposób wyszukania czasu określonego w parametrze tTime.
"eq:xxx" - Jest odszukany rekord, którego znacznik czasu jest równy czasu tTime. Łańcuch xxx określa dokładność porównania. Dla xxx są możliwymi wartości Nsec, Nmin, gdzie N jest liczbą rzeczywistą określającą ilość sekund ewentualnie ilość minut. Jeżeli na przykład są przez obiekt PmTrend zapisywane wartości 15 sekundowe (...,14:00,14:15,14:30,...), wtedy przy wprowadzeniu tTime=czas 14:17, sStyle="eq:3sec" zostanie odszukany rekord danych ze znacznikiem czasu 14:15.
"newest" - Jest wyszukiwany najnowszy rekord. Jest konieczne ustawieniw wartości 0 w parametrze tTime.
"oldest" - Jest wyszukiwany najstarszy rekord. Jest konieczne ustawieniw wartości 0 w parametrze tTime.
Wartość zwrotna:
Metoda zwraca wartość (tablicę wartości) danej (kilku danych) lub Empty, jeżeli czas przedstawiony w parametrze tTime nie został odnaleziony.
Notatka:

Metoda może równocześnie ze zwróconymi wartościami zwracać również odnaleziony czas, który może się różnić od czasu parametru tTime, lecz najwyżej o wyżej przedstawioną dokładność. Patrz przykłady.

Przykład1:
Jest wyszukiwany rekord według czasu tTime. Znacznik czasu może różnić się od czasu tTime najwyżej o 1 sekundę. Odszukany czas zostanie zwrócony jako pierwsza wartość w tablicy values, drugą wartością będzie wartość danej a0 w odszukanym czasie, trzecią wartością będzie wartość danej a1.
VBScriptWybierz oraz skopiuj do schowka

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
Przykład2:
Jest wyszukiwany rekord według czasu tTime. Znacznik czasu może różnić się od czasu tTime najwyżej o 1 1/2 minuty. Odszukany czas NIE JEST zwrócony. Pierwszą wartością w tablicy values będzie zwrócona wartość danej a0 w odszukanym czasie, drugą wartością będzie wartość danej a1.
VBScriptWybierz oraz skopiuj do schowka

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