Páginas filhas
  • AFill

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Incluir Página
tec:AFill
tec:AFill

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. }