REDIM

REDIM

Akcia REDIM


Funkcia

Zmena rozmeru (počet riadkov) lokálnej štruktúrovanej premennej alebo objektu typu Štruktúrovaná premenná.

Deklarácia

REDIM rec[newDim]

Parametre

rec

out

Meno lokálnej štruktúrovanej premennej alebo objektu typu Štruktúrovaná premenná alebo typový ALIAS.

newDim

in

Výraz typu Int - nový rozmer (počet riadkov).

Popis

Zmena počtu riadkov nemá za následok stratu hodnôt v položkách, ktoré existovali pred akciou (zväčšenie rozmeru poľa).
Pre hodnotu lokálnej štruktúrovanej premennej platí, že novo vzniknuté položky sú inicializované na neplatnú hodnotu a minimálny počet riadkov (newDim) je 0.
Ak počas zmeny rozmeru štruktúrovanej premennej dôjde k nedostatku pamäte, akcia spôsobí prerušenie vykonávania skriptu a generuje chybu ERR_RANGE_ERROR s príslušným popisom. Hodnota premennej sa nezmení.

Pre hodnotu objektu typu Štruktúrovaná premenná platí, že novo vzniknuté položky majú konfigurované všetky vlastnosti ako Zdedené (štartovacia hodnota, medze, ...). Minimálny rozmer je 1.
Dôležité je uvedomiť si, že zmena rozmeru objektu Štruktúrovaná premenná je konfiguračný zásah (ako taký je vykonávaný v kontexte procesu D2000 Server a jeho výsledok sa ukladá do konfiguračnej databázy). Čas zmeny konfigurácie objektu je nastavený na aktuálny čas.
Akcia REDIM zlyhá (prerušením vykonávania skriptu) napríklad vtedy, ak je príslušný objekt otvorený za účelom editácie (pri prerušení skriptu sa nastavuje premenná _ERR_NR_TRANS_EX, ktorá bližšie popisuje chybu).

Príklad 1

Skopírovanie hodnôt z objektu SV.Struktura do lokálnej premennej typu RECORD.

 

; deklarácia premennej RECORD NOALIAS (SD.RecordDef) _locRec ; zmena rozmeru (počtu riadkov) REDIM _locRec[SV.Struktura\DIM] ; kopírovanie hodnoty SET _locRec WITH SV.Struktura

Príklad 2

Zmena rozmeru objektu typu Štruktúrovaná premenná:

 

; deklarácia typového ALIASu ALIAS (SD._System_Redundancy) _aList ; jeho nasmerovanie na objekt SV._System_Redundancy SET _aList AS SV._System_Redundancy ; zmena rozmeru na 10 REDIM _aList[10] ;alebo iným spôsobom - zmena rozmeru na 5 REDIM SV._System_Redundancy[5]

Súvisiace stránky:

Akcie v skriptoch