Versões comparadas

Chave

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

Sintaxe

Incluir Página

 

AEVAL( <array>, <bloco de código> [ , <expressão numérica 1>  ]  [ , <expressão numérica 2> ] )

 

Propósito

 

Executa um bloco de código para cada um dos elementos de um array.

 

Argumentos

 

< array >

 

Define o nome do array cujos elementos serão avaliados.

 

< bloco de código >

 

Define o bloco de código que será executado ou avaliado para cada elemento do array.

 

< expressão numérica1 >

 

Define o número do primeiro elemento para o qual o bloco de código será executado. Se não for especificado será assumido o primeiro elemento.

 

< expressão numérica2 >

 

Define a quantidade de elementos, a partir do elemento definido pela expressão numérica 1, para os quais o bloco de código especificado será executado. Se não for especificado, serão processados todos os elementos do array a partir do primeiro definido.

 

Utilização

 

A função AEVAL() avalia um bloco de código para cada elemento de um array, passando o valor do elemento como parâmetro para o bloco de código especificado. O valor resultante do bloco de código é ignorado.

 

Todos os elementos do array são processados, a menos que sejam especificadas as expressões numéricas 1 ou 2 para selecioná-los.

 

A função AEVAL(), a priori, não identifica o tipo de dado contido em cada elemento do array, assumindo que o bloco de código especificado saberá tratá-los adequadamente.

 

Dicas

 

A função AEVAL() é semelhante à função DBEVAL(), que executa um bloco de código para cada registro de um arquivo de dados.

 

Exemplos

 

Neste exemplo, a função AEVAL() é utilizada para apresentar um array contendo os nomes e as datas de atualização de arquivos de dados fornecidos pela função DIRECTORY().

 

#include “Protheus.ch”

 

LOCAL aArqs := DIRECTORY(“*.CTE”)

 

AEVAL(aArqs, { | aDbf | MSGALERT(PADR(aDbf[F_NAME], 10), aDbf(F_DATE] ) } )

 

RETURN

 

tec:AEval
tec:AEval