aAdd
Adiciona um elemento ao final de um array, redimensionando dinamicamente. Retorna o novo tamanho.
Assinatura: aAdd(aArray, xElemento) -> nNovoTam
Retorna: Numeric
aAdd aumenta o array em 1 posicao e adiciona o elemento ao final. Nao confunda com aSize (redimensiona) ou aIns (insere em posicao especifica).
Sintaxe
nNovoTam := aAdd(aArray, xElemento)Exemplo
aLista := {}
aAdd(aLista, "Item 1")
aAdd(aLista, "Item 2")
aAdd(aLista, "Item 3")
// aLista agora tem 3 elementos
// Adicionar sub-array (multi-dimensional):
aItens := {}
aAdd(aItens, {"01", "PROD001", 10, 25.00}) // codigo, produto, qtd, preco
aAdd(aItens, {"02", "PROD002", 5, 18.50})
// Acesso: aItens[1][2] = "PROD001"Padrao classico
// Popular array a partir de query:
aResultado := {}
While !(cAlias)->(EOF())
aAdd(aResultado, { ;
(cAlias)->B1_COD, ;
(cAlias)->B1_DESC ;
})
(cAlias)->(DBSkip())
EndPerformance
Em arrays muito grandes (10k+), aAdd e mais lento que pre-alocar com Array(nTam) + atribuicao por indice. Mas pra menos de 1000 elementos, diferenca e desprezivel.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
aArray | Array | sim | Array de destino (modificado in-place) |
xElemento | Any | sim | Elemento a adicionar |
Exemplos
Coletar resultado de query
While !(cAlias)->(EOF())
aAdd(aRet, (cAlias)->CAMPO)
(cAlias)->(DBSkip())
End