Porovnávané verzie
Kľúč
- Tento riadok sa pridal
- Riadok je odstránený.
- Formátovanie sa zmenilo.
Akcia LST_CREATE
Blok kódu | ||||
---|---|---|---|---|
| ||||
LST_CREATE mask, objType, logGroup, sortBy, lines, h, data[, relation, object] |
mask | in | Identifikátor typu String - načíta len objekty, ktorých atribút "Meno" vyhovuje zadanej maske. V prípade, ak je zvolená maska "*", sú do zoznamu zaradené objekty bez ohľadu na svoj názov (atribút "Meno"). | ||||||||||||||||||
objType | in | Identifikátor typu Int - určuje typ objektov, ktoré budú zaradené do zoznamu (voľba jednej z preddefinovaných konštánt s prefixom @OTYPE_*). Ak je zvolená konštanta @OTYPE_ALL_TYPES, do zoznamu sú zaradené objekty všetkých typov. | ||||||||||||||||||
logGroup | in | Odkaz na objekt - ak je aktuálna hodnota parametra neasociovaný alias, parameter sa neberie do úvahy. Ak parameter obsahuje odkaz na reálny objekt v systéme, do zoznamu budú zaradené len objekty patriace pod zadanú logickú skupinu. | ||||||||||||||||||
sortBy | in | Identifikátor typu Int - určuje spôsob, akým sa budú usporadúvať objekty v zozname (voľba jednej z preddefinovaných konštánt s prefixom @SORT_LIST_*). | ||||||||||||||||||
lines | in | Identifikátor typu Int - maximálny počet riadkov, ktoré budú zapísané do data. Predstavuje počet riadkov jednej stránky. Maximálny počet riadkov môže byť 1000. | ||||||||||||||||||
h | out | Identifikátor typu Int - jednoznačný handle na vytvorený zoznam objektov. Ak je tento handle rovný 0, nastala chyba pri vytváraní zoznamu. | ||||||||||||||||||
data | out | Identifikátor celej lokálnej štruktúry SD._System_ObjectInfo alebo inej definície štruktúry s rovnakým počtom a typmi stĺpcov. Typy a význam jednotlivých stĺpcov:
Je možné použiť štruktúru rozšírenú o ďalšie 2 stĺpce, pričom ich typy a význam je nasledovný:
| ||||||||||||||||||
relation | in | Identifikátor typu Int - definuje vzťah, ktorý musia spĺňať objekty vo výslednom zozname vzhľadom k objektu, ktorý je daný parametrom object. Hodnota parametra musí byť daná hodnotou niektorej konštanty REL_*. Ak nadobudne parameter hodnotu REL_NONE alebo REL_NOTUSED, objekt daný parametrom object sa neberie do úvahy. | ||||||||||||||||||
object | in | Odkaz na ľubovoľný objekt - vzťažný objekt. |
Akcia vytvorí zoznam objektov na základe zadaných vstupných parametrov. Ak je handle na zoznam rovný 0, nastala chyba pri vytváraní zoznamu.
Vlastníkom zoznamu je bežiaca inštancia skriptu a nie je možné ho zdieľať medzi rôznymi skriptami.
Zoznam zaniká zánikom skriptu alebo po vykonaní akcie LST_CLOSE.
Poznámka
Je možné pristupovať k aktuálnym hodnotám objektov ktoré sú načítané v rámci *aktuálnej* stránky akciami LST_CREATE, LST_GO_NEXT, .... Akciou ON CHANGE sa dá reagovať na zmeny hodnôt objektov. Po zatvorení zoznamu alebo po prestránkovaní sú prístupné len posledné hodnoty a akcia ON CHANGE prestane reagovať na zmeny hodnoty.
Blok kódu | ||||
---|---|---|---|---|
| ||||
; Spracovanie zmeny hodnoty
PROCEDURE Proc(IN INT _v, IN ALIAS _a, IN INT _row, _col)
_c := _v
END Proc
INT _h ; identifikátor zonamu
INT _hbj ; identifikátor prvého objektu zo stránky
ENTRY GO_OnClick
ALIAS _a
RECORD NOALIAS (SD._System_ObjectInfo) _data
; otvorenie zoznamu a načítanie prvej stránky
LST_CREATE "Sec", @OTYPE_ALL_TYPES, (0), @SORT_LIST_NAME, 1000, _h, _data
; Prístup k aktuálnej hodnote objektu zo stránky
_hbj := _data[1]^ID
SET _a AS (_hbj)
_value := _a
; Registrácia procedúry
ON CHANGE (_hbj) GOTO ChangeProc
END GO_OnClick
; zatvorenie zoznamu
ENTRY GO_CLOSE_OnClick
LST_CLOSE _h
END GO_CLOSE_OnClick |