SET WITH
Akcia SET WITH
Funkcia | Zmena viacerých hodnôt súčasne (vždy v súvislosti so štruktúrami). | ||||||
Deklarácia | SET dstIdent_Rec WITH srcIdent_Rec | ||||||
Parametre |
| ||||||
Popis | Parametre dstIdent_Rec a srcIdent_Rec musia mať vždy rovnaký typ štruktúry (ináč akcia generuje chybu _ERR_RECORD_NO_COMP) a taktiež rovnaký rozmer. Môžu byť typu:
Akcia nastavuje hodnoty položiek v dstIdent_Rec hodnotami zo zodpovedajúcich položiek srcIdent_Rec. V prípade, že parameter dstIdent_Rec je odkaz na riadok, parameter srcIdent_Rec musí byť taktiež odkaz na riadok. Podobne ak dstIdent_Rec je odkaz na celú hodnotu, srcIdent_Rec musí byť taktiež odkaz na celú hodnotu. RECORD (SD.RecordDef) _lArr1 nie je možná a editor skriptov pri kompilácii vyhlási chybu. RECORD (SD.RecordDef) _lArr1 Akcia SET WITH bude generovať chybu _ERR_RANGE_ERROR (rozmer objektu SV.Struktura je 10 riadkov a rozmer lokálnej premennej _lArr1 po deklarácii len 1 riadok). RECORD (SD.RecordDef) _lArr1 Pri kopírovaní hodnôt do lokálnej premennej typu RECORD, ktorá obsahuje položky typu Objekt, akcia nastavuje hodnoty objektov, na ktoré jednotlivé nastavované položky ukazujú. Tento efekt nie je vždy žiaduci. Preto pri deklarácii lokálnej premennej typu RECORD je možné uviesť modifikátor NOALIAS nasledovne: RECORD NOALIAS (SD.RecordDef) _lArr1 Pre takto definovanú lokálnu premennú, všetky položky typu Objekt majú vypnutú vlastnosť smerovania. Nemajú vopred definovaný typ. Je možné do nich priradiť hodnotu ľubovoľného typu. _lArr1[1]^Object := 1 Pozri: | ||||||
Príklad | RECORD (SD.RecordDef) _lArr1 |
Súvisiace stránky: