- Vytvoril/a D2000 Dev Team, naposledy zmenené mar 14, 2024
Akcia GETARCHCOL
Funkcia
Hromadné čítanie hodnôt z archívu.
Deklarácia
GETARCHCOL archIdent, locRecDstIdent, timeFromIdent_TmA, timeToIdent_TmA, stepIdent_Int, maxValsIdent_Int, statusIdent_Int [,archivInstance_Int] [TIMEBYROW | TIMEBYCOL]
Parametre
archIdent | in | Odkaz na položku:
|
locRecDstIDent | out | Lokálna premenná typu Record - výsledok čítania. |
timeFromIdent_TmA | in | Identifikátor typu Absolútny čas - začiatok intervalu. |
timeToIdent_TmA | in | Identifikátor typu Absolútny čas - koniec intervalu. |
stepIdent_Int | in | Identifikátor typu Int - časový krok pre prevzorkovanie hodnôt v archíve. Detaily prevzorkovania - viď Poznámka o prevzorkovaní. |
maxValsIdent_Int | in | Maximálny počet hodnôt. Ak v je v danom intervale väčší počet hodnôt, budú orezané a akcia vráti upozornenie ERR_MORE_DATA v identifikátore statusIdent_Int. |
statusIdent_Int | out | Úspešnosť čítania. |
TIMEBYROW | Rozmiestnenie výsledných hodnôt v čase po riadkoch. | |
TIMEBYCOL | Rozmiestnenie výsledných hodnôt v čase po stĺpcoch. | |
archivInstance_Int | in | Nepovinný identifikátor typu Int - identifikácia inštancie archívu. Ak nie je uvedený, nahradí sa hodnotou 0. |
Popis
Akcia (podobne ako akcia GETARCHROW) na základe parametra archIdent generuje viacej požiadaviek na čítanie archívu naraz a synchrónne čaká na ich ukončenie. Políčko archIdent určuje stĺpec, na základe ktorého sa budú generovať požiadavky na archívne dáta.
Parameter archIdent môže byť zapísaný jedným z nasledujúcich spôsobov:
- Stĺpec lokálnej premennej typu "typový ALIAS"
Príklad:
ALIAS (definícia štruktúry) _lAT
SET _lAT AS SV.Struct
GETARCHCOL _lAT[0]^Item1 , ...
Jednotlivé požiadavky na čítanie budú VŽDY adresované na položky štruktúry SV.Struct v danom stĺpci (aj v prípade, že položky v stĺpci sú typu Objekt). - Stĺpec objektu typu Štruktúrovaná premenná
Príklad:
GETARCHCOL SV.Struct[0]^Item2 , ...
Adresovanie požiadavky prebieha podľa tých istých pravidiel ako v bode 1. - Stĺpec lokálnej premennej typu Record
Príklad:
RECORD (definícia štruktúry) _lRec
REDIM _lRec[3]
SET _lRec[1]^Item2 AS Sec
SET _lRec[2]^Item2 AS SysTime
SET _lRec[3]^Item2 AS M.MeranyBod
.....
GETARCHCOL _lRec[0]^Item2, ...
Akcia vyžaduje, aby stĺpec bol typu Objekt. Jednotlivé požiadavky na čítanie budú adresované na objekty, na ktoré smerujú položky v danom stĺpci.
Ak niektoré políčko nebude smerované na objekt, akcia končí s chybou ERR_NO_ASSIGNED_ALIAS. - Stĺpec štruktúrovaného archívneho objektu
Príklad:
GETARCHCOL H.Struct[0]^Item2, ...
Jednotlivé požiadavky na čítanie budú adresované postupne na všetky položky v danom stĺpci. Objekt H.Struct nemôže byť jedno-stĺpcový archívny objekt. - Jedno-stĺpcový štruktúrovaný archívny objekt
Príklad:
GETARCHCOL H.Struct, ...
Jednotlivé požiadavky na čítanie budú adresované postupne na všetky položky.
- po riadkoch (podobne ako pri akcii GETARCHROW - prvému stĺpcu zodpovedajú hodnoty získané na základe požiadavky z prvého riadku (príslušného stĺpca), druhému stĺpcu zodpovedajú hodnoty získané na základe požiadavky z druhého riadku, .... Lokálna premenná _locRecDstIdent musí mať potrebný počet stĺpcov (minimálne toľko, koľko archívnych objektov je čítaných). Akcia jej automaticky zmení rozmer (počet riadkov) podľa množstva hodnôt načítaných z archívu.
- po stĺpcoch - každá postupnosť hodnôt je vložená do jedného riadku premennej _locRecDstIdent. Ak má niektorá postupnosť viac hodnôt ako je stĺpcov, premenná statusIdent_Int nadobudne hodnotu _ERR_MORE_DATA, ale hodnoty, ktoré bolo možné zverejniť budú do premennej _locRecDstIdent naplnené.
Hodnota parametra archivInstance_Int udáva inštanciu archívu, ktorá realizuje požiadavku. Ak nie je uvedený (alebo má hodnotu 0) požiadavku realizuje aktívna inštancia archívu.
Úspešnosť čítania akcie obsahuje premenná statusIdent_Int. Ak premenná statusIdent_Int nadobudne hodnotu _ERR_NO_DATA(22), znamená, že všetky archívy, ktoré sa použili pri čítaní, neobsahujú dáta. Ak aspoň jeden obsahuje dáta, akcia vráti _ERR_NO_ERR(0).
Príklad
Súvisiace stránky:
Pridať komentár