Protheus :: Programação Básica em Advpl “Combo XXXI”
Blocos de Codificação:
Os Blocos de Codificação ou CodeBlock são variáveis que utilizamos para armazenar fragmentos de codificação do programa. Esses fragmentos podem ser passados para funções que irão executá-los.
Os Blocos de Codificação ou CodeBlock são variáveis que utilizamos para armazenar fragmentos de codificação do programa. Esses fragmentos podem ser passados para funções que irão executá-los.
Criamos um bloco de codificação à partir da seguinte sintaxe:
bVar := { || Teste() }
O caractere { significa “inicio do bloco de codificação” e o caractere “}”, “fim do bloco de codificação”. As duas barras verticais ( || ) delimitam a lista de parâmetros formais do bloco de codificação.
A variável bVar pode ser Local, Static, Private ou Public; não faz diferença. Ela só contém um fragmento de codificação e quando avaliado ele chama a função Test()
Para avaliar – ou executar – um bloco de código, use a função Eval(), como em: nResult := Eval( bVar ) esta chama a função Test(). Como toda função Eval() retorna um resultado ( que é o último elemento do bloco de código )
Ex.:
bRetVal := {|nVar1,nVar2,nVar3|nVar2:=nVar1+nVar2, nVar2*nVar3}
nResult := Eval( bRetVal , 1 , 2 , 3 )
//Após avaliar o bloco, Eval retornará para nResult 9 que é o resultado //da operação definida no bloco de código.
bVar := { || Teste() }
O caractere { significa “inicio do bloco de codificação” e o caractere “}”, “fim do bloco de codificação”. As duas barras verticais ( || ) delimitam a lista de parâmetros formais do bloco de codificação.
A variável bVar pode ser Local, Static, Private ou Public; não faz diferença. Ela só contém um fragmento de codificação e quando avaliado ele chama a função Test()
Para avaliar – ou executar – um bloco de código, use a função Eval(), como em: nResult := Eval( bVar ) esta chama a função Test(). Como toda função Eval() retorna um resultado ( que é o último elemento do bloco de código )
Ex.:
bRetVal := {|nVar1,nVar2,nVar3|nVar2:=nVar1+nVar2, nVar2*nVar3}
nResult := Eval( bRetVal , 1 , 2 , 3 )
//Após avaliar o bloco, Eval retornará para nResult 9 que é o resultado //da operação definida no bloco de código.
Comentários
Postar um comentário