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 (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação