Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
AFILL( <array>, <expressão> [ , <expressão numérica 1> ] [ , <expressão numérica 2> ] )
Propósito
Preenche os elementos de um array com um determinado conteúdo.
Argumentos
< array >
Define o array cujos elementos serão preenchidos por um determinado conteúdo.
< expressão >
Define o valor que será preenchido em cada elemento do array. Pode ser uma expressão de qualquer tipo de dado, incluindo outro array, bloco de código ou o valor NIL.
< expressão numérica1 >
Define a posição do primeiro elemento a ser preenchido. Caso esse argumento seja omitido, o valor padrão será 1.
< expressão numérica2 >
Define a quantidade de elementos que serão preenchidos a partir da posição definida na expressão numérica 1. Se este argumento for omitido, todos os elementos do array, a partir da expressão numérica 1 até o último, serão preenchidos.
Utilização
Quando um array unidimensional é declarado (comandos LOCAL, PRIVATE ou PUBLIC), os seus elementos, apesar de definidos, possuem o valor NIL como conteúdo. Para preencher todos os elementos de um array com um conteúdo, de forma rápida e eficiente, utiliza-se a função AFILL().
A função AFILL(array, 0) é equivalente, mas muito mais rápida e eficiente, à execução da seguintes instruções:
FOR nA := 1 TO n // n é o número de elementos
aVetor[nA] := 0 // zero é o valor a ser preenchido
NEXT nA
Todos os elementos do array, desde o
elemento inicial definido pela expressão numérica 1 até o final definido pela expressão numérica 2, serão preenchidos com o resultado da mesma expressão especificada.
Dicas
A função AFILL() pode ser utilizada somente para preencher arrays unidimensionais. Arrays multidimensionais são implementados no AdvPL como arrays contendo outros arrays unidimensionais intercalados.
A utilização da função AFILL() sobre arrays multidimensionais sobreporá os elementos das outras dimensões.
Exemplos
Neste exemplo, cria-se um array com três elementos, que depois são preenchidos com o conteúdo falso (.F.). Ao final, atribui-se um novo valor, verdadeiro (.T.), aos elementos nas posições dois e três:
LOCAL aLogic[3] // Resulta: { NIL, NIL, NIL }
AFILL(aLogic, .F.) // Resulta: { .F., .F., .F. }
AFILL(aLogic, .T., 2, 2) // Resulta: { .F., .T., .T. }