Promotic

GetValueByTime - metoda obiektu PmaTrendGroup

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:
Variant GetValueByTime(String sWhat, Date tTime, Long nTimeType, String sStyle)
Parametry:
sWhat(String) Specyfikacja zmiennej (lub zmiennych), 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 zmiennych (o nazwach a1..a3) karty "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 karcie. Na przykład jeżeli kolejność zmiennych w karcie 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 zmienić 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 PmaTrendGroup zapisywane wartości 15 sekundowe (...,14:00,14:15,14:30,...), wtedy przy wprowadzeniu tTime=czas 14:17, sStyle="eq:3sec" zostanie odszukany rekord zmiennych 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).
Jeżeli czas przedstawiony w parametrze tTime nie został odnaleziony wtedy metoda zwraca: null dla JavaScript lub Empty dla VBScript (można sprawdzić przy pomocy metody Pm.IsValid).
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 w parametrze tTime, lecz najwyżej o wyżej przedstawioną dokładność. Patrz przykłady.
Przykład1:
Wyszuka rekord według czasu tTime. Znacznik czasu rekordu 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ść zmiennej a0 w odszukanym czasie, trzecią wartością będzie wartość zmiennej a1.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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));
}
Przykład2:
Wyszuka rekord według czasu tTime. Znacznik czasu rekordu 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ść zmiennej a0 w odszukanym czasie, drugą wartością będzie wartość zmiennej a1.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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));
}

Historia:
Pm8.00.03: Usunięty błąd: metoda nie działała poprawnie jeżeli konfigurator "Typ zapisu" jest ustawiony na jeden z typów "cyclic".
© MICROSYS, spol. s r.o.