Page tree
Skip to end of metadata
Go to start of metadata

Copia elementos de um array para outro.

Sintaxe

ACopy( < aOrigem >, < aDestino >, [ nInicio ], [ nCont ], [ nPosDestino ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aOrigem

vetor

Indica o array em que serão copiados os elementos.

X

 

aDestino

vetor

Indica o array de destino em que os elementos serão copiados.

X

 

nInicio

numérico

Indica o elemento inicial do array aFonte a partir do qual os conteúdos serão copiados. Caso não seja especificado, o valor padrão será um (1).

 

 

nCont

numérico

Indica a quantidade de elementos que serão copiados do array. Caso não seja especificado, o array de origem será considerado até o último elemento.

 

 

nPosDestino

numérico

Indica a partir de qual posição do array que receberá os elementos de. Caso não seja especificado, o valor padrão é um (1).

 

 

Retorno

Nome

Tipo

Descrição

aDestino

vetor

Retorna uma referência ao array de destino <aDestino>.

Observações

  • Esta função pressupõe que o array de destino possui uma estrutura compatível para a cópia; ou seja, a função não altera a estrutura do array destino para viabilizar a cópia.

Exemplos

Exemplo 1
#DEFINE CRLF Chr(13)+Chr(10)
User Function Exemplo()
Local aExemplo := {1, 2, {11, 22, 33}}, aBkp := {, , {, , }}
Local cMensagem := ""
//+----------------------------------------------------------------------------+
//|Exemplifica o uso da função ACopy                                           |
//+----------------------------------------------------------------------------+
  cMensagem += "Dimensão de AExemplo = " + cValToChar(Len(aExemplo))  + CRLF
  cMensagem += "aExemplo[1] = " + cValToChar(aExemplo[1])             + CRLF
  cMensagem += "aExemplo[2] = " + cValToChar(aExemplo[2])             + CRLF
  cMensagem += "aExemplo[3][1] = " + cValToChar(aExemplo[3][1])       + CRLF
  cMensagem += "aExemplo[3][2] = " + cValToChar(aExemplo[3][2])       + CRLF
  cMensagem += "aExemplo[3][3] = " + cValToChar(aExemplo[3][3])       + CRLF
  cMensagem += "Dimensão inicial da Cópia = " + cValToChar(Len(aBkp)) + CRLF
  ACopy(aExemplo, aBkp)
  cMensagem += "Dimensão atual do Cópia = " + cValToChar(Len(aBkp))   + CRLF
  cMensagem += "Cópia[1] = " + cValToChar(aBkp[1])                    + CRLF
  cMensagem += "Cópia[2] = " + cValToChar(aBkp[2])                    + CRLF
  cMensagem += "Cópia[3][1] = " + cValToChar(aBkp[3][1])              + CRLF
  cMensagem += "Cópia[3][2] = " + cValToChar(aBkp[3][2])              + CRLF
  cMensagem += "Cópia[3][3] = " + cValToChar(aBkp[3][3])
//+----------------------------------------------------------------------------+
//|Apresenta uma mensagem com os resultados obtidos                            |
//+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do ACopy")

Resutlado do exemplo

Abrangência

Microsiga Protheus 8.11 , Protheus 10

Veja também

  • No labels