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;