fbpx

Sobre a função FWMsgRun

Descrição:

Cria uma tela de processamento que fica com um círculo girando

Declaração:

FWMsgRun( [oComponent] , <bAction>, [cHeader], [cText] ) -> Nil

Parâmetros:
NomeTipoDescriçãoDefaultObrigatórioReferência
oComponentObjectComponente que será sobreposto com o painel   
bActionCode-blockBloco de código a ser executado (o Bloco de código recebera o objeto TSay para atualizações) X 
cHeaderStringTexto do Header“”  
cTextStringTexto do Corpo“”  

Exemplos:

#Include "protheus.ch"
#Include "totvs.ch"
/*--------------------------------------------------------------
Funcao  : dica004  | Autor: @andredoprotheus
----------------------------------------------------------------
Objetivo: FWMsgRun -- Cria uma tela de processamento que fica 
                      com um círculo girando
--------------------------------------------------------------*/
User Function dica004()
Local aArea := GetArea()
      
FWMsgRun(, {|oSay| process(oSay) }, "Processando", "Processando dados aguarde...")
      
RestArea(aArea)
Return
  
Static Function process(oSay)
Local nAtual := 0
Local nTotal := 0
      
oSay:SetText("Iniciando processamento...")
      
//Contando o total de registros da tabela
DbSelectArea("SA1")
SA1->(DbGoTop())
Count To nTotal
      
//Enquanto houver dados na SBM, muda a mensagem de processamento
SA1->(DbGoTop())
While ! SA1->(EoF())
    nAtual++
    Say:SetText("Analisando registro " + cValToChar(nAtual) + " de " + cValToChar(nTotal) + "...")
          
    SA1->(DbSkip())
EndDo
Return()

Está gostando do conteúdo? Compartilhe!

André Oliveira

💻Especialista no Sistema ERP Totvs Protheus 🚀Compartilhando conhecimento de Protheus/ADVPL/TL++

Assine A Nossa Newsletter

plugins premium WordPress