Descrição:
Cria uma tela de processamento que fica com um círculo girando
Declaração:
FWMsgRun( [oComponent] , <bAction>, [cHeader], [cText] ) -> Nil
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
oComponent | Object | Componente que será sobreposto com o painel | |||
bAction | Code-block | Bloco de código a ser executado (o Bloco de código recebera o objeto TSay para atualizações) | X | ||
cHeader | String | Texto do Header | “” | ||
cText | String | Texto 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() |