Nesse vídeo demonstraremos a utilização das funções FWMsgRun e MsgRun, que servem para abrir uma tela de processamento de informações.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe235
Exemplo de barras de processamento
@type Function
@author Atilio
@since 20/02/2023
@see https://tdn.totvs.com/display/public/framework/FWMsgRun e https://tdn.totvs.com/display/tec/MsgRun
@obs
Função FWMsgRun
Parâmetros
+ oComponent , Objeto , Componente que será sobreposto com o painel
+ bAction , Bloco de Código , Bloco que será executado
+ cHeader , Caractere , Título da janela
+ cText , Caractere , Texto que será apresentado
Retorno
Não tem retorno
Função MsgRun
Parâmetros
+ cText , Caractere , Texto que será apresentado
+ cHeader , Caractere , Título da janela
+ bBlock , Bloco de Código , Bloco que será executado
Retorno
Não tem retorno
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe235()
Local aArea := FWGetArea()
Local nTotal := 0
Private aDados := Array(1000000)
//Mostra qualquer mensagem
MsgRun("Lendo informações...", "Teste", {|| aEval(aDados, {|x| nTotal++}) })
//Mostra a barra que fica carregando
FWMsgRun(, {|oSay| fCorre(oSay) }, "Processando", "Buscando informações")
FWRestArea(aArea)
Return
Static Function fCorre(oSay)
Local nAtual := 0
//Percorre o array e define o texto
For nAtual := 1 To Len(aDados)
//oSay:SetText("Registro " + cValToChar(nAtual) + " de " + cValToChar(Len(aDados)))
Next
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.