Cria uma tela de processamento que fica com um círculo girando
Exemplo da Rotina:
FWMsgRun(, {|oSay| fSuaFuncao(oSay) }, "Processando", "Processando a rotina")
Exemplo 1- Chamando uma rotina de processamento:
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;