Promotic

SetValueByTime - metoda objektu PmaTrendGroup

Popis:
Metoda vyhledá podle parametru tTime záznam s časovou známkou a pokud je takový záznam nalezen, pak do něj zapíše hodnotu (pole hodnot) proměnné (více proměnných) z parametru vData. Časová známka záznamu je vyhledána dle parametrů tTime a sParam a může se od času v parametru tTime lišit, nanejvýš ale o zadanou přesnost. Viz popisy parametrů.
Syntaxe:
Boolean SetValueByTime(Variant vData, String sWhat, Date tTime, Long nTimeType, String sParam)
Parametry:
vData(Variant) Hodnota nebo pole hodnot. Počet hodnot jednoznačně odpovídá počtu zadaných proměnných v parametru sWhat.
Pořadí proměnných v řetězci sWhat určuje pořadí hodnot v poli vData, pokud je proměnných v sWhat definováno více.
Pokud parametr sWhat obsahuje jen jedinou proměnnou, pak vData je buď jednoduchá hodnota nebo pole s jedinou položkou.
sWhat(String) Specifikace proměnné (nebo proměnných), jejíž uchovaná(é) hodnota(y) mají být přepsány. Lze zadat například "a1;" nebo "a1;a2;a3;", pokud se má zapisovat do pole proměnných v kartě "Data".
U proměnných je nutno zachovat pořadí podle pořadí v kartě. Například pokud pořadí proměnných v kartě je a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně.
tTime(Date) Čas, jehož záznam hodnot proměnných 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 podle místního nastavení systému Windows).
2 - tTime je "zimní čas" (v letním i v zimním období).
sParam(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 objektem PmaTrendGroup uchovány hodnoty 15 sekundové (...,14:00,14:15,14:30,...), pak při zadání tTime=14:17, sParam="eq:3sec" bude nalezen záznam proměnných s časovou známkou 14:15.
Vrácená hodnota:
Pokud záznam byl podle času nalezen a zápis byl proveden v pořadku, pak vrací hodnotu true, v jiném případě vrací hodnotu false.
Příklad:
Vyhledá záznam podle času tTime. Časová známka záznamu se může lišit od času tTime maximálně o 1 sekundu. Pokud záznam je nalezen, pak je hodnota proměnné a0 odpovídající tomuto času přepsána hodnotou parametru vData(0) a hodnota proměnné a1 přepsána hodnotou parametru vData(1).
JavaScriptVBScriptVyber a zkopíruj do schránky

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

if (oTrend.SetValueByTime(vData, "a0;a1", tTime, 1, "eq:1sec"))
{
// proměnné a0,a1 byly přepsány hodnotami 10,20 úspěšně.
}

Historie:
Pm8.00.00: Opravená chyba: V parametru vData lze zadat pole s jedinou položkou.
© MICROSYS, spol. s r.o.