Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-12-2011
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Poder: 14
pape19 Va por buen camino
Cuenta regresiva en pantalla

Buenas...tengo una aplicación que utilizan los empleados de mi empresa a la cual quiero agregarle un botón de descanso, que al presionarlo, en el centro de la pantalla solo figure un reloj(cronómetro) que valla mostrando una cuenta regresiva, partiendo de los cinco minutos.

Cuando este reloj llegue a 00:00:00, esta ventana se cerrará y la pc del usuario volverá a su estado anterior.

Como puedo realizar esto?

Muchas gracias!
Responder Con Cita
  #2  
Antiguo 26-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pape19.

Si no te entendí mal, podrías hacer algo como esto:

Ventana con cuenta regresiva:
Código Delphi [-]
...
type
  TForm2 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FCountDown: TTime;
  public
    property CountDown: TTime read FCountDown write FCountDown;
  end;

var
  Form2: TForm2;

implementation {$R *.dfm}

uses DateUtils;

procedure TForm2.FormCreate(Sender: TObject);
begin
  BorderStyle:= bsNone;
  WindowState:= wsMaximized;
  Color:= clBlack;
  Timer1.Enabled:= True;
  with Label1 do
  begin
    Color:= clBlack;
    Font.Name:= 'Verdana';
    Font.Size:= 72;
    Font.Color:= clLime;
    Left:= (Screen.Width - Width) div 2;
    Top:= (Screen.Height - Height) div 2;
  end;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  FCountDown:= IncSecond(FCountDown, -1);
  if FCountDown > 0 then
    Label1.Caption:= FormatDateTime('hh:mm:ss', FCountDown)
  else
  begin
    MessageBeep(MB_ICONEXCLAMATION);
    Close;
  end;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
  Timer1.Enabled:= False;
end;

end.

Llamada:
Código Delphi [-]
...
implementation

uses Unit2;

procedure TForm1.btnDescansarClick(Sender: TObject);
begin
  with TForm2.Create(nil) do
  try
    CountDown:= StrToTime('00:01:00'); // 1 minuto de descanso como ejemplo
    ShowModal;
  finally
    Free;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 26-12-2011
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Poder: 14
pape19 Va por buen camino
Muchisimas gracias por tu respuesta. Aunque luego de abrir el hilo, seguí probando una solución. Y lo hice con esto.

Código Delphi [-]
procedure TForm2.FormShow(Sender: TObject);
begin
  segundos:=0;
  minutos:=5;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
    If segundos = 0 then
      begin
        If minutos = 0 then
          showmessage('Tiempo Terminado')
        else
          segundos:= 59;
          minutos:= minutos - 1;
      End
    else
      segundos := segundos - 1;
    FloatEdit2.text:=IntToStr(Segundos);
    FloatEdit1.text:=IntToStr(Minutos);
end;
Responder Con Cita
  #4  
Antiguo 05-06-2012
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Codigos precisos..

Cuenta regresiva....
Acabo de implementarlo, me ahorraron trabajo...

Your friend
Startkill
Lima-Perú
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en cuenta/Login/cuenta robada coso___ La Taberna 17 24-02-2009 17:30:14
Capturar Pantalla = Pantalla negra DarkDudae Gráficos 8 27-10-2008 12:29:36
no me doy cuenta.... Patricio Varios 4 21-04-2008 21:24:20
seria prudente comenzar la cuenta regresiva? Delphius La Taberna 5 12-05-2007 01:22:22


La franja horaria es GMT +2. Ahora son las 09:16:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi