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

Inclui um elemento no array e ao elemento, do array recém-criado, é atribuido o valor especificado por parâmetro.

Sintaxe

AAdd( < aDest >, < xExpr > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aDest

vetor

Indica o array que receberá o novo elemento.

X

 

xExpr

qualquer

Indica uma expressão válida que será o valor do novo elemento.

X

 

Retorno

Nome

Tipo

Descrição

xRet

qualquer

Retorna o valor especificado em <xExpr>.

Observações

  • Caso seja especificado em <xExpr> um outro array, o novo elemento no array destino terá uma referência ao array especificado.
  • Essa função é útil na construção de filas ou listas dinâmicas. Utilize para aumentar o tamanho de um array dinamicamente.
  • Essa função é semelhante a função ASize, mas adiciona apenas um elemento por vez. Já ASize permite aumentar ou diminuir um array a um tamanho especificado. AAdd também possui a vantagem de poder atribuir um valor ao novo elemento, enquanto que ASize não pode. Além disso, AAdd pode parecer igual a função AIns, mas não é, pois AIns move os elementos dentro de um array, mas não modifica seu tamanho.

Exemplos

Exemplo 1
#DEFINE CRLF Chr(13)+Chr(10)
User Function aadd1()
  Local aArray := {}, aExemplo := {}
  Local cCaractere := "Exemplo", cMensagem := ""
  Local dData := Date()
  Local lLogico := .T.
  Local nNumerico := 86887
  
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função AAdd                                            |
  //+----------------------------------------------------------------------------+
  
  AAdd( aExemplo, aArray     )
  AAdd( aExemplo, cCaractere )
  AAdd( aExemplo, dData      )
  AAdd( aExemplo, lLogico    )
  AAdd( aExemplo, nNumerico  )
  
  cMensagem += "aExemplo[1] = " + cValToChar( aExemplo[1] ) + CRLF
  cMensagem += "aExemplo[2] = " + cValToChar( aExemplo[2] ) + CRLF
  cMensagem += "aExemplo[3] = " + cValToChar( aExemplo[3] ) + CRLF
  cMensagem += "aExemplo[4] = " + cValToChar( aExemplo[4] ) + CRLF
  cMensagem += "aExemplo[5] = " + cValToChar( aExemplo[5] ) + CRLF
  
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do AAdd")

Resultado do Exemplo

Abrangência

Microsiga Protheus 8.11, Protheus 10

Veja também

 

  • No labels