Árvore de páginas

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
#include "TOTVS.ch"

User Function aadd()
  Local aArray := {"A","B","C"}, aExemplo := {}
  Local cCaractere := "Exemplo", cMensagem := ""
  Local dData := Date()
  Local lLogico := .T.
  Local nNumerico := 86887
  Local negNumerico := -32131
   
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função AAdd                                            |
  //+----------------------------------------------------------------------------+
   
  AAdd( aExemplo, aArray     )
  AAdd( aExemplo, cCaractere )
  AAdd( aExemplo, dData      )
  AAdd( aExemplo, lLogico    )
  AAdd( aExemplo, nNumerico  )
  AAdd( aExemplo, negNumerico  )

  cMensagem += "aExemplo[1] = " + cValToChar( aExemplo[1][1] ) + CRLF //CRLF PARA QUEBRA DE LINHA
  cMensagem += "aExemplo[2] = " + cValToChar( aExemplo[1][2] ) + CRLF
  cMensagem += "aExemplo[3] = " + cValToChar( aExemplo[1][3] ) + CRLF
  cMensagem += "aExemplo[4] = " + cValToChar( aExemplo[2] ) + CRLF
  cMensagem += "aExemplo[5] = " + cValToChar( aExemplo[3] ) + CRLF
  cMensagem += "aExemplo[6] = " + cValToChar( aExemplo[4] ) + CRLF
  cMensagem += "aExemplo[7] = " + cValToChar( aExemplo[5] ) + CRLF
  cMensagem += "aExemplo[8] = " + cValToChar( aExemplo[6] ) + CRLF
   
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do AAdd")
Exemplo 2
#include "TOTVS.ch"

User Function aadd2()
  Local aExemplo := {}
  Local cMensagem := ""
   
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função AAdd                                            |
  //+----------------------------------------------------------------------------+
   
  //Adicionando elementos na matriz
  AAdd( aExemplo, {"Arthur",   23} )
  AAdd( aExemplo, {"Bruno",    29} )
  AAdd( aExemplo, {"Douglas",  12} )
  AAdd( aExemplo, {"Fabiana",  25} )
  AAdd( aExemplo, {"José",     38} )
  AAdd( aExemplo, {"Katarina", 42} )
  AAdd( aExemplo, {"Marco",    81} )
  AAdd( aExemplo, {"Zoraide",  60} )

  cMensagem += cValToChar(aExemplo[1][1])+" tem " + cValToChar( aExemplo[1][2]) +" anos." + CRLF //CRLF PARA QUEBRA DE LINHA
  cMensagem += cValToChar(aExemplo[2][1])+" tem " + cValToChar( aExemplo[2][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[3][1])+" tem " + cValToChar( aExemplo[3][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[4][1])+" tem " + cValToChar( aExemplo[4][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[5][1])+" tem " + cValToChar( aExemplo[5][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[6][1])+" tem " + cValToChar( aExemplo[6][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[7][1])+" tem " + cValToChar( aExemplo[7][2]) +" anos." + CRLF
  cMensagem += cValToChar(aExemplo[8][1])+" tem " + cValToChar( aExemplo[8][2]) +" anos." + CRLF
 
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do AAdd")

Resultado do Exemplo

Abrangência

Application Server 13.0.0.0

Veja também


  • Sem rótulos