Tempo de leitura: 1 minuto
A função EoF informa se o posicionamento dos registros está no fim do arquivo/tabela ativo. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.
Sintaxe:
Eof()
Parâmetro(s):
Nenhum.
Retorno:
Observações:
- O uso da DBGoBottom não ativa a flag de EoF. Para isto, após sua chamada, é necessário o uso da DBSkip.
Exemplo da função EoF em ADVPL:
Enquanto não tiver no último registro da tabela SA1 a contagem dos registros vai sendo feita.
#include 'protheus.ch'
#INCLUDE "TBICONN.CH"
#Define QLIN Chr(10)+Chr(13)
/*{Protheus.doc} User Function PAEoF
(Essa função tem por finalidade mostrar a função de Acesso a Banco de Dados / SQL no Protheus EoF em ADVPL)
@type Function
@author Adilio Costa
@since 08/12/2023
@version 1.0
@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 PAEoF()
Local aArea := GetArea() //Salvando a área atual
Local nCont := 0 // Variável para verificar quantos registros há no intervalo
//Define a SA1 como área de trabalho ativa
DBSelectArea("SA1")
SA1->(DBSetOrder(1)) // A1_FILIAL + A1_COD + A1_LOJA
SA1->(DBGoTop())
//Enquanto não for o início do arquivo
While SA1->(!EoF())
nCount++ // Incrementa a variável de controle de registros no intervalo
SA1->(DBSkip(1))
End
MsgInfo("A tabela SA1 possui "+cValToChar(nCont)+ " registros!","Função EoF")
//Restaurando o ambiente salvo
RestArea(aArea)
Return
É isso aí, finalizamos aqui mais um post 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(s):