Cria uma tela de processamento que fica com um círculo girando
Exemplo da Rotina:
1 | FWMsgRun(, {|oSay| fSuaFuncao(oSay) }, "Processando" , "Processando a rotina" ) |
Exemplo 1- Chamando uma rotina de processamento:
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 | User Function zTstA() Local aArea := GetArea() FWMsgRun(, {|oSay| fMontaRel(oSay) }, "Processando" , "Processando dados para o relatório XPTO" ) RestArea(aArea) Return Static Function fMontaRel(oSay) Local nAtual := 0 Local nTotal := 0 oSay:SetText( "Iniciando processamento..." ) //Contando o total de registros da tabela DbSelectArea( "SBM" ) SBM->(DbGoTop()) Count To nTotal //Enquanto houver dados na SBM, muda a mensagem de processamento SBM->(DbGoTop()) While ! SBM->(EoF()) nAtual++ oSay:SetText( "Analisando registro " + cValToChar(nAtual) + " de " + cValToChar(nTotal) + "..." ) SBM->(DbSkip()) EndDo Return |
Exemplo em Vídeo:
Clique nesse link para ver um exemplo em Vídeo da nossa Maratona de Exemplos.
Observações:
- Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
- Se tiver sugestões de rotinas, pode entrar em contato;