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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#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