Como fazer uma barra de progresso que fica indo de um lado para outro em AdvPL

No artigo de hoje, vou mostrar como fazer uma barra de processamento que fica indo de um lado para outro.

Para quem já usou o Processa(), sabe que é possível fazer uma barra de carregamento, e você visualizar o status e demonstrar ao usuário em que parte do processamento a rotina se encontra.

Mas existe um recurso interessante, que é fazer a barra ficar indo de um lado para outro como se fosse em um Loop na animação.

Para utilizar dessa forma, basta dentro do processamento, definir o tamanho da régua com 0 e em seguida chamar o “incrementador” da régua com qualquer texto. Abaixo um print do resultado:

Exemplo da barra de progresso

Abaixo o trecho do código exemplificando:

//Exemplo de User function, chamando o processamento
User Function zTeste()
	Processa({|| fExcel()}, "Exportando...")
Return

//Função estática chamada pelo Processa()
Static Function fExcel()
	
	//Definindo o tamanho da régua como 0, para causar o efeito em Loop
	ProcRegua(0)
	IncProc("Adicionando registros no Excel")

	//Aqui você coloca os seus comandos para gerar o relatório
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta