Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
ACOPY( <array 1>, <array 2>
[ , <expressão numérica 1> ]
[ , <expressão numérica 2> ]
[ , <expressão numérica 3> ] )
Propósito
A função ACOPY() copia os elementos de um array unidimensional para outro, fornecendo uma referência do array copiado.
Argumentos
< array 1 >
Define o nome do array do qual se copiará os elementos. Ou seja, o array origem.
< array 2 >
Define o nome do array para o qual se copiará os elementos. Ou seja, o array destino.
< expressão numérica 1 >
Define o número do primeiro elemento do array 1 que será copiado. Caso não seja especificado, será assumido o número 1.
< expressão numérica 2 >
Define o número de elementos do array 1 que serão copiados a partir do elemento definido pela expressão numérica 1. Caso não seja especificado, todos os elementos serão copiados.
< expressão numérica 3 >
Define o número do primeiro elemento do array 2 a partir do qual a cópia deverá ser iniciada. Se não for especificado será assumido o número 1.
Utilização
A função ACOPY() constitui um meio muito rápido e eficaz de se copiar um array inteiro, ou parte dele, para outro array. A cópia poderá iniciar-se a partir de um determinado elemento e realizar-se para um determinado elemento do array destino.
O array destinatário da cópia já deverá existir previamente e ter tamanho suficiente para receber os elementos copiados. Se o array origem possuir mais elementos do que o array destino, alguns elementos podem não ser copiados.
Dicas
A função ACOPY() copia valores de qualquer tipo de dado, inclusive o valor NIL e blocos de código.
Caso um elemento do array origem seja um subarray, o elemento correspondente no array destino receberá uma referência desse subarray. Portanto, a função ACOPY() não cria uma réplica completa de um array multidimensional. Para isso, deve-se utilizar a função ACLONE().
Exemplos
No exemplo abaixo, a função ACOPY() é utilizada para copiar elementos do array aVetor1 para o array aVetor2:
LOCAL aVetor1[4]
LOCAL aVetor2[3]
aVetor1 := { 1, 2, 3, 4 }
aVetor2 := { 0, 0, 0 }
ACOPY(aVetor1, aVetor2, 3, 2, 2)
O array aVetor2 passa a conter os seguintes elementos:
aVetor2 --> { 0, 3, 4 }