Promotic

SetValueByTime - metoda obiektu PmaTrendGroup

Opis:
Metoda wyszuka na podstawie parametru tTime rekord ze znacznikiem czasu i jeżeli taki rekord jest odnaleziony, wtedy zapisze do niego wartość (tablicę wartości) danej (kilku danych z parametru vData. Znacznik czasu rekordu jest wyszukiwany według parametrów tTime oraz sParam i może się różnić od czasu w parametrze tTime, lecz najwyżej z określoną precyzją. Patrz opisy parametrów.
Składnia:
Boolean SetValueByTime(Variant vData, String sWhat, Date tTime, Long nTimeType, String sParam)
Parametry:
vData(Variant) Wartość lub tablica wartości. Ilość wartości jednoznacznie odpowiada ilości wprowadzonych zmiennych w parametrze sWhat.
Kolejność zmiennych w łańcuchu sWhat określa kolejność wartości w tablicy vData, jeżeli jest danych w sWhat zdefiniowanych więcej.
Jeżeli parametr sWhat zawiera tylko jedną daną, wtedy vData jest prostą wartością lub tablicą z jedyną pozycją.
sWhat(String) Specyfikacja zmiennej (lub zmiennych), której zapisana(e) wartość(ci) mają zostać przepisane. Można wprowadzić na przykład "a1;" lub "a1;a2;a3;", jeżeli ma być wykonany zapis do tablicy zmiennych w karcie "Dane".
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.
tTime(Date) Czas, którego rekord wartości zmiennych 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).
sParam(String) Spozób odszukania czasu określonego w parametrze tTime.
"eq:xxx" - Jest odszukiwany rekord, którego znacznik czasu jest równy czasu tTime. Łańcuch xxx określa precyzję porównywania.
Dla xxx są dozwolone wartości Nsec, Nmin, gdzie N jest liczbą rzeczywistą określają cą ilość sekund, ewentualnie ilość minut.
Jeżeli na przykład przy pomocy obiektu PmaTrendGroup są zapisywanie wartości 15 sekundowe (...,14:00,14:15,14:30,...), wtedy przy wprowadzeniu tTime=14:17, sParam="eq:3sec" zostanie odszukany rekord zmiennych ze znacznikiem czasu 14:15.
Wartość zwrotna:
Jeżeli rekord został odnaleziony według czasu i zapis został wykonany pomyślnie, wtedy zwraca wartość true, w innym przypadku zwraca wartość false.
Przykład:
Wyszuka rekord według czasu tTime. Znacznik czasu rekordu może różnić się od czasu tTime najwyżej o 1 sekundę. Jeżeli rekord jest odnaleziony, wtedy wartość zmiennej a0 odpowiadającej temu czasu zostanie przepisana wartością parametru vData(0) a wartość zmiennej a1 zostanie przepisana wartością parametru vData(1).
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oTrend = pMe.Pm("/Trends");
var vData = Pm.Array1(10, 20);
var tTime = Pm.CreateDate(2023, 3, 22, 12, 30, 30, 500);   // ustawienie czasu tTime

if (oTrend.SetValueByTime(vData, "a0;a1", tTime, 1, "eq:1sec"))
{
// przepisanie danych a0,a1 wartościami 10,20 przebiegło pomyślnie.
}

Historia:
Pm8.00.00: Usunięty błąd: W parametrze vData można wprowadzić tablicę z jedną pozycją.
© MICROSYS, spol. s r.o.