logotipo Blog Giovani Da Cruz
Algoritmos com Laços

Exemplo de como simular uma barra de progresso em modo console

2 min de leitura 158 visualizações

progress bar

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 em Pascal:

(*

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!

Deixe um comentário

Seu e-mail não será publicado.