AEVAL()
 Executa um bloco de código para cada elemento em um vetor
------------------------------------------------------------------------------

 Sintaxe

     AEVAL(<aVetor>, <bBloco>,
        [<nInicio>], [<nCont>]) --> aVetor

 Argumentos

     <aVetor> é o vetor a ser varrido.

     <bBloco> é um bloco de código a ser executado para cada elemento
     encontrado.

     <nInicio> é o elemento inicial.  Caso nao seja especificado, o
     padrao assumido é o elemento um.

     <nCont> é a quantidade de elementos a serem processados a partir de
     <nInício>.  Se nao for especificado, o padrao é todos os elementos no
     vetor.

 Retorno

     AEVAL() retorna uma referência a <aVetor>.

 Descriçao

     AEVAL() é uma funçao de tratamento de vetor que avalia um bloco de
     código uma vez para cada elemento de um vetor, passando o valor do
     elemento como um parâmetro de bloco.  O valor de retorno do bloco é
     ignorado.  Todos os elementos no <aVetor> sao processados a nao ser que
     o argumento <nInicio> ou <nCont> seja especificado.

     AEVAL() nao faz suposiçoes sobre o conteúdo dos elementos de vetor que
     ele está passando para o bloco.  É assumido que o bloco sabe qual o
     tipo de dados haverá em cada elemento.

     AEVAL() é semelhante a DBEVAL(), que aplica um bloco para cada registro
     de um arquivo de banco de dados.  Da mesma forma que DBEVAL(), AEVAL()
     pode ser utilizado como base para a construçao de comandos de interaçao
     tanto para estruturas de vetor complexas como simples.

     Consulte a seçao Blocos de Código no capítulo Conceitos Básicos para
     mais informaçoes sobre a teoria e sintaxe dos blocos de código.

 Exemplos

       Este exemplo utiliza AEVAL() para exibir um vetor de nomes e
        tamanhos de arquivos retornados pela funçao DIRECTORY():

        #include "Directry.ch"
        //
        LOCAL aFiles := DIRECTORY("*.dbf"), nTotal := 0
        AEVAL(aFiles,;
           { | aDbfArq |;
              QOUT(PADR(aDbfArq[F_NAME], 10), aDbfArq[F_SIZE]),;
              nTotal += aDbfArq[F_SIZE];
           };
        )
        //
        ?
        ? "Total Bytes:", nTotal

       Este exemplo utiliza AEVAL() para fazer uma lista que
        consiste em itens selecionados de um vetor multi-dimensional.

        #include "Directry.ch"
        //
        LOCAL aFiles := DIRECTORY("*.dbf"), aNames := {}
        AEVAL(aFiles,;
           { | file | AADD(aNames, file[F_NAME]) };
        )

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: DBEVAL() EVAL() QOUT()