ArchView - Užívateľské funkcie
Užívateľská funkcia môže byť definovaná pre každý pohľad v stĺpci D (Užívateľská funkcia). Definícia sa skladá z mena funkcie a parametrov, ktoré sú oddelené znakom ;.
Ak je pre pohľad funkcia definovaná, každá zobrazená hodnota v rámci pohľadu je výsledkom jej volania. Užívateľská funkcia musí byť definovaná v module UserFunkcie a musí mať nasledovné parametre:
Private Function UserFunction(ArcBId As Long, Id As Long, NumItems As Long, UserParams As Variant) As Variant
kde:
ArcBId - interný identifikátor archívneho bloku
Id - poradové číslo hodnoty, ktorá sa ide zobraziť.
Hodnota parametra je:
- -1, ak ide o inicializáciu funkcie
- NoDataTime, ak pre dané políčko neexistuje hodnota
- NoDataValid, ak nie je pre dané políčko definovaná hodnota
NumItems - veľkosť dlhšej strany pohľadu (oblasť
zobrazenia), pre ktorý
je funkcia definovaná, alebo -1, ak ide o inicializáciu funkcie
UserParams - pole užívateľských parametrov definovaných pri definícii
pohľadu.
Vlastnou implemetáciou môžeme dosiahnuť potrebný prepočet alebo úpravu zobrazovanej hodnoty. V rámci tejto funkcie môžeme volať nasledovné, už definované funkcie:
Získanie hodnoty, ktorá sa má zobraziť podľa jej poradového čísla v aktuálnom archívnom bloku
Property Get GetActualD2DataObj(Index As Long, ByRef D2DataObj As VBApi_TUniVal) As Long
Index - poradové číslo hodnoty v archívnom bloku (parameter Id
v UserFunction)
D2DataObj - hodnota z archívu
Návratová hodnota:
- D2DataIdNotValid - nie sú data
- RetOk - D2DataObj obsahuje žiadanú hodnotu
Získanie celkového počtu hodnôt v archívnom bloku
Property Get GetActualD2DataObjItems() As Long
Pri vzniku chyby je návratová hodnota -1.
Získanie počiatočného času aktuálneho archívneho bloku
Property Get GetActualD2DataBT() As Date
Pri vzniku chyby je návratová hodnota D2DataIdNotValid.
Získanie hodnoty podľa jej poradového čísla z daného archívneho bloku
Property Get GetD2DataObj(ArchBlockId As Long, Index As Long, ByRef D2DataObj As VBApi_TUniVal) As Long
ArchBlockId - číslo archívneho bloku (parameter užívateľskej
funkcie)
Index - poradové číslo hodnoty v archívnom bloku (parameter Id
v UserFunction)
D2DataObj - hodnota z archívu
Návratová hodnota:
- D2DataIdNotValid - nie sú dáta
- RetOk - D2DataObj obsahuje žiadanú hodnotu
- ArchBlockNoExist - neexistuje požadovaný archívny blok.
Prevod medzi menom archívneho bloku a jeho číselným identifikátorom
Property Get GetArchBlockId(ArchBlock As String) As Long
Návratová hodnota v prípade chyby je ArchBlockNotExist.
Súvisiace stránky:
Pridať komentár