Fala galera da programação, tudo beleza?
No exemplo de hoje vamos implementar uma simulação de barra de progresso em aplicativos em modo console. É um exemplo simples que acredito que possa ser útil nas aplicações de vocês.
O programa consiste em uma barra preenchida com #, conforme este exemplo:
Progresso: [##### ] 50%
Bem, vamos aos códigos:
(* Exemplo de barra de progresso em modo console em Pascal Testado com Lazarus 2.2.6 Criado pelo Professor Giovani Da Cruz *) program BarraDeProgresso; uses SysUtils, CRT; procedure SimularBarraDeProgresso(Mensagem: String; Total: Integer); var i: Integer; begin Writeln(Mensagem); { Desenha a barra vazia } Write('['); for i := 1 to total - 1 do begin Write(' '); end; Write(']'); GotoXY(WhereX - (total), WhereY); // Move o cursor de volta ao início da linha for i := 1 to total do begin { Preenche a barra } Write('#'); { Aqui pode ser utilizado um parâmetro para executar a sua rotina } Delay(100); // Exemplo de rotina: Delay de 100 milissegundos para simular uma operação em andamento // Calcula e exibe o percentual de preenchimento GotoXY(WhereX + (total - i) + 1, WhereY); Write(' ', Round((i / total) * 100), '%'); { Posiciona o cursor na possição correta para continuar preenchendo a barra. } GotoXY(i + 1, WhereY); end; Writeln; // Nova linha após a barra de progresso concluída end; begin ClrScr; // Limpa a tela do console // Simulando uma operação que leva algum tempo SimularBarraDeProgresso('Progresso:', 20); Writeln('Operacao concluida.'); Readln; end.
Beleza pessoal? Espero que tenham gostado.
Dúvidas ou sugestões de outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!