Hola amigos:
Durante varios dias me estuve quebrando la cabeza para realizar una cuenta regresiva o progresiva, para ejecutar una acción con un Timer y un ProgressBar y al fin lo conseguí. Como he visto que en el foro este es un tema de consulta frecuente, les adjunto el código por si a alguien le puede servir en sus proyectos.
Colocar en el Form un Timer y un ProgressBar
Cuenta progresiva
Código Delphi
[-]procedure Form1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 3000;
ProgressBar1.Min := 0;
ProgressBar1.Position := ProgressBar1.Min;
Timer1.Enabled := true;
end;
Código Delphi
[-]procedure Form1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.StepBy(1) ;
if ProgressBar1.Position = 100 then
begin
Acción que desees realizar;
Timer1.Enabled:= False;
Timer1.Interval := 3000;
ProgressBar1.Min := 0;
ProgressBar1.Position := ProgressBar1.Min;
Timer1.Enabled := true;
end;
end;
Cuenta regresiva
Código Delphi
[-]procedure Form1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 500;
ProgressBar1.Max := 600;
ProgressBar1.Position := ProgressBar1.Max;
Timer1.Enabled := true;
end;
Código Delphi
[-]procedure Form1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.StepBy(-1) ;
if ProgressBar1.Position = 100 then
begin
Acción que desees realizar;
Timer1.Enabled:= False;
Timer1.Interval := 500;
ProgressBar1.Max := 600;
ProgressBar1.Position := ProgressBar1.Max;
Timer1.Enabled := true;
end;
end;
En ambos casos el Timer funcionará por 5 minutos y se reiniciará.
Saludos y ojalá que a alguien le sirva