Jump to content

Parar cronómetro (dúvida)


TJFBarreto
 Share

Recommended Posts

Estou a fazer um exercício de um cronometro e precisa de uma ajudinha.

E queria ajuda, como fazer para o parar, premido uma tecla, ex: uma readkey; e depois mostrar o tempo em que o cronometro parou.

:wallbash:

program cronometro;

var
min,seg,hora: integer;
milesimos: integer;
begin
    hora:=0;
    min:=0;
    seg:=0;
    milesimos:=0;
    writeln('Pressione enter para iniciar o cronometro');
    readln;
   while min<=59 do
          begin
               delay(15);
               milesimos:=milesimos+1;
               if milesimos=65 then
                  begin
                       milesimos:=0;
                       seg:=seg+1;
                  end;
               if seg=60 then
                  begin
                       seg:=0;
                       min:=min+1;
                  end;
               if min=60 then
                  begin
                      min:=0;
                      hora:=hora+1;
                  end;
               gotoxy(5,5); 
               writeln('O cronometro vai em ',hora:2,' horas,',min:2,' minutos ',seg:2,' segundos, ',milesimos:2,' milesimos.');
               writeln('');
          end;	
       
end.

Obrigado aos que ajudarem  😄

EDIT: GeSHi adicionado e título alterado. thoga31

Link to comment
Share on other sites

Podes usar a função keypressed...

Na condição do while, acrescentas o keypressed:

 while (min<=59) and (not keypressed) do 

Assim ele irá correr enquanto não for pressionada uma tecla.

Depois do fim do while podes meter os valores finais ("o cronómetro terminou em blá blá blá")

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Podes usar a função keypressed...

É a solução mais simples e eficaz, sim. Qualquer tecla irá servir para sair.

Se quiseres só o Enter, deverás encaixar este ciclo num Repeat Until que faça o ReadKey da tecla que deu True ao KeyPressed e, se for #13, pára, se não for, continua.

Aqui deverás ter em conta teclas especiais que necessitam de duplo ReadKey.

Knowledge is free!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.