En este vídeo crean un programa que reciba un tiempo en segundos y muestre una cuenta regresiva hasta cero.
Vamos a verlo como se hace en Object Pascal
Crea un programa nuevo.
Ahora escribe el siguiente código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
program Project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX} cthreads, {$ENDIF} Classes { you can add units after this }, SysUtils; var Valor: integer; procedure Temporizador(Tiempo: integer); var minutos, Segundos: integer; begin while Tiempo >= 0 do begin Minutos := Tiempo div 60 mod 60; Segundos := Tiempo mod 60; Writeln(format('%02d:%02d', [minutos, segundos])); Tiempo := Tiempo - 1; Sleep(1000); end; end; begin WriteLn('Introduce un tiempo'); ReadLn(Valor); Temporizador(Valor); end. |
Crearemos un función llamada Temporizador que recibe el parámetro llamado Tiempo.
Dentro de esta función, creamos un bucle mientras la variable Tiempo sea mayor o igual que cero. Obtenemos su valor en Minutos y en segundos.
Mostramos su valor por pantalla, y restamos uno a la variable Tiempo. Esperamos mil milisegundos que son un segundo.
Saludos