Ver Mensaje Individual
  #1  
Antiguo 17-09-2010
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Reputación: 17
radenf Va por buen camino
Wink Timer con ProgressBar

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
Responder Con Cita