Árvore de páginas

Duplica um array (estrutura e elementos).

Sintaxe

AClone( < aSource > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aSource

vetor

Indica o array que será duplicado.

X

 

Retorno

Nome

Tipo

Descrição

aRet

vetor

Retorna um array idêntico ao informado no parâmetro.

Exemplos

Exemplo 1
#DEFINE CRLF Chr(13)+Chr(10)
User Function aclone1()
  Local aExemplo := {1, 2, {11, 22, 33}}, aBkp := {}
  Local cMensagem := ""
  
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função AClone                                          |
  //+----------------------------------------------------------------------------+
  
  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 do Clone = " + cValToChar(Len(aBkp)) + CRLF
  
  aBkp := AClone(aExemplo)
  
  cMensagem += "Dimensão atual do Clone = " + cValToChar(Len(aBkp))   + CRLF
  cMensagem += "Clone[1] = " + cValToChar(aBkp[1])                    + CRLF
  cMensagem += "Clone[2] = " + cValToChar(aBkp[2])                    + CRLF
  cMensagem += "Clone[3][1] = " + cValToChar(aBkp[3][1])              + CRLF
  cMensagem += "Clone[3][2] = " + cValToChar(aBkp[3][2])              + CRLF
  cMensagem += "Clone[3][3] = " + cValToChar(aBkp[3][3])
  
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do AClone")

Resultado do Exemplo

Abrangência

Microsiga Protheus 8.11, Protheus 10

Veja também

  • Sem rótulos