Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Incluir Página
tec:ACopy
tec:ACopy

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 }