Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetValueByTime - metoda obiektu PmTrend

Opis:
Metoda zwraca wartość (tablicę 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. 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.
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 i "czas letni" w okresie letnim, odpowiada czasu komputera według ustawienia lokalnego)
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.
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.
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.
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