V príklade sa predpokladá existencia objektu SD.ListData, ktorého štruktúra zodpovedá štruktúre výstupného parametra _data ESL akcie LST_CREATE.



 RECORD NOALIAS (SD.ListData) _data
 
 TEXT _mask
 INT _objType
 ALIAS _logGroup
 INT _sortBy
 INT _lines
 INT _h
 INT _nrObjs
 INT _nrPages
 
 _mask    := "P.*"              ; maska objektov, ktoré požadujem
 _objType :=  @OTYPE_ALL_TYPES   ; všetky typy objektov
 _sortBy  := @SORT_LIST_NAME      ; triedenie podľa názvu objektov
 _lines   := 7                  ; počet prvkov na stránke


 ; miesto _logGroup môže byť filter pomocou logickej skupiny (zadaním jej názvu)
LST_CREATE _mask, _objType, _logGroup, _sortBy, _lines, _h, _data
  IF  _h <> 0 THEN   ; ak bol zoznam objektov vytvorený (ak h=0, chyba)
 LST_GETINFO _h, _nrObjs  ; zistenie počtu všetkých objektov zoznamu
  IF %Mod( _nrObjs, _lines ) = 0 THEN 
  _nrPages := _nrObjs / _lines
 ELSE
  _nrPages := _nrObjs / _lines + 1
  ENDIF
  ; ak LEN(_data) = 0, potom daná stránka neexistuje
  ; ak po LST_CREATE je LEN(_data) = 0, tak _nrObjs = 0 a nemá význam prechádzať zoznamom objektov
 ; alebo, ak po LST_GO_TOP nasleduje LST_GO_PREV, bude určite platiť, že po LST_GO_PREV bude nasledovať LEN(_data) = 0
 LST_GO_PAGE   _h, _data, 2
  LST_GO_FIRST _h, _data
  LST_GO_NEXT   _h, _data
 LST_GO_PREV   _h, _data
  LST_GO_LAST   _h, _data
 LST_CLOSE _h   ; zatvorenie zoznamu objektov 
 ENDIF

Súvisiace stránky:

Napíšte komentár