Eval

Reading time: 2 minutes

 

A função Eval executa um bloco de código em ADVPL. Ela é uma das funções de manipulação de bloco de códigos em ADVPL.

Sintaxe:

Eval(bBloco,xExp)

 

Parâmetro(s):

 

Retorno:

 

 

Exemplo da função Eval em ADVPL

#include 'protheus.ch'
#define QLIN Chr(10)+Chr(13)
/*{Protheus.doc} User Function PAEval
    (Essa função tem por finalidade mostrar a função de Manipulação de Blocos de Código Eval em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 01/08/2023
    @version Protheus 12.1.2210
@Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://hotmart.com/pt-br/club/protheusadvpl
|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
*/

User Function PAEval()
	Local bSoma := {|nVal| Y:=nVal+12, X:=Y*nVal}
	Local xExp := 2
	Local xRetorno := Eval(bSoma,xExp)

	MsgInfo("O resultado de bSoma é:"+cValToChar(xRetorno), "Função Eval")

Return

No código ADVPL acima nós criamos um bloco código chamado bSoma que recebe como parâmetro nVal depois iremos somar o conteúdo de nVal com 12 e atribuir o resultado a Y, ao final multiplicamos o conteúdo de Y por nVal e atribuímos o resultado a X, assim o conteúdo de X será o resultado do bloco de código bSoma. Depois disso passamos à função Eval o bloco de código bSoma e o valor 2(xExp). Quando Eval executar o bloco de código o valor de nVal será 2, esse valor será somado a 12 e atribuído a Y, Y ficará com o conteúdo 14, ao final na última expressão executada no bloco de código Y será multiplicado por nVal, ou seja, 14x2 e o resultado 28 será atribuído a X, assim a variável xRetorno será igual a 28:

Exemplo da função Eval em ADVPL

 

 

 

É isso aí, finalizamos mais um post aqui no Blog ProtheusAdvpl, caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Até um próximo post. Grande abraço e fica com Deus.

 

Link(s) de referência:

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.