COPYSTRUCT

COPYSTRUCT

Akcia COPYSTRUCT


Funkcia

Akcia skopíruje riadok/riadky alebo celú lokálnu štruktúrovanú premennú do inej lokálnej štruktúrovanej premennej (t.j. lokálna premenná typu Record).

Deklarácia

COPYSTRUCT _dstStruct, _fromRow, _firstRowToCopy[, _lastRowToCopy]

 

alebo

 

COPYSTRUCT _dstStruct, _fromRow, _srcStruct

Parametre

_dstStruct

in/out

Identifikátor lokálnej premennej typu Record - cieľová štruktúra.

_fromRow

in

Identifikátor typu Int - prvý riadok v cieľovej štruktúre (_dstStruct), od ktorého sa budú kopírovať riadok, riadky alebo celá štruktúra.

_firstRowToCopy

in

Identifikátor riadku lokálnej premennej typu Record - prvý kopírovaný riadok zdrojovej štruktúry.

_lastRowToCopy

in

Nepovinný parameter - identifikátor riadku lokálnej premennej - posledný kopírovaný riadok zdrojovej štruktúry.

Poznámka: ak nie je daný, akcia skopíruje len riadok daný parametrom _firstRowToCopy.

_srcStruct

in

Identifikátor lokálnej premennej typu Record - zdrojová štruktúra.

Popis

Akcia skopíruje:

  • riadok - je zadaný len parameter _firstRowToCopy (bez parametra _firstrowsToCopy)

  • riadky - oba parametre _firstRowToCopy a parameter _lastRowToCopy sú definované

  • celú štruktúru - 2. spôsob deklarácie (parameter _srcStruct)


Kopírovanie sa vykoná do lokálnej premennej _dstStruct od riadku daného parametrom _fromRow.
Ak premenná _dstStruct nemá dostatočný rozmer, akcia generuje chybu _ERR_RANGE_ERROR.

Premenné _dstStruct, _firstRowToCopy a _srcStruct musia byť rovnakého typu (rovnaká definícia štruktúry).

Ak sa použije parameter _lastRowToCopy, akcia zo zdrojovej premennej kopíruje riadky ohraničené parametrami _firstRowToCopy a _lastRowToCopy. V tomto prípade je potrebné, aby oba parametre predstavovali riadok rovnakej štruktúry.

Príklad

RECORD (SD.ArchData) _src RECORD (SD.ArchData) _dst INT _idx BEGIN ; naplnenie zdrojovej štruktúry hodnotami od 1 do 10 REDIM _src[10] _idx := 1 DO_LOOP EXIT_LOOP _idx > _src\DIM _src[_idx]^value := _idx _idx := _idx + 1 END_LOOP ; nastavenie rozmeru cieľovej štruktúry REDIM _dst[11] ; kopírovanie jedného riadku zo štruktúry _src do štruktúry _dst počínajúc štvrtým riadkom ; _dst[4] <-- _src[5] COPYSTRUCT _dst, 4, _src[5] ; kopírovanie dvoch riadkov zo štruktúry _src do štruktúry _dst počínajúc tretím riadkom ; _dst[3] <-- _src[5] ; _dst[4] <-- _src[6] COPYSTRUCT _dst, 3, _src[5], _src[6] ; kopírovanie všetkých riadkov štruktúry _src do štruktúry _dst počínajúc druhým riadkom ; _dst[2] <-- _src[1] ; _dst[3] <-- _src[2] ; _dst[4] <-- _src[3] ; ... COPYSTRUCT _dst, 2, _src END

Súvisiace stránky:

Akcie v skriptoch