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
#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