Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2010
jandres jandres is offline
Miembro
 
Registrado: may 2006
Posts: 47
Poder: 0
jandres Va por buen camino
Activar Botones por horario

Saludos a esta gran comunidad tengo una aplicacion de ponche de empleados tengo 4 botones que son lo siguientes

Entrada
Salida almuerzo
Entrada almuerzo
Salida almuerzo

me gustaria saber como puedo hacer Entrada se active de 8:00 am. a 12:00 pm. 12:00 pm. a 2:00 pm. Entrada Almuerzo y asi por favor si me pueden ayudar con el codigo pues tengo la idea pero no se como hacer lo. estoy utilizando delphi 7 y sql mediante navicar gracias de antemano por su ayuda soy novato y lo poco que se es por esta gran comunidad.
Responder Con Cita
  #2  
Antiguo 23-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Hola.
Para esta solución usé 2 botones TButton y un TTimer.
Los botones empiezan deshabilitados y el OnTimer decide si se habilitan.
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var
  Horario:TDateTime;
begin
  Button1.Enabled:=False;
  Button2.Enabled:=False;
  Horario:=GetTime;
  if (Horario >= StrToDateTime('08:00:00')) and (Horario <= StrToDateTime('19:59:59')) then
    Button1.Enabled:=True
  else
  if (Horario >= StrToDateTime('20:00:00')) and (Horario <= StrToDateTime('07:59:59')) then
    Button2.Enabled:=True;
end;
Ahora tenés una idea de cómo hacerlo.
Saludos!
Responder Con Cita
  #3  
Antiguo 23-03-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Otra opción es redefinir el método UpdateActions de la clase TForm:

Código Delphi [-]
TMyForm = class(TForm)
protected
  procedure UpdateActions; override;
end;

implementation

procedure TMyForm.UpdateActions;
var
  CurrentTime: TTime;

begin
  inherited;
  CurrentTime := Now;
  btnEntrada.Enabled := (CurrentTime >= StrToTime('8')) and (CurrentTime <= StrToTime('11:59'));
  btnEntradaComida.Enabled := (CurrentTime >= StrToTime('12')) and (CurrentTime <= StrToTime('13:59'))
end;


Saludos...
Responder Con Cita
  #4  
Antiguo 23-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Tiene razón [maeyanes].
Es mejor haciéndolo con una asignación directa sin el if.
Yo por mi parte opto por usar el TTimer pero haciendo la asignación directa.
O sea
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var
  Horario:TTime;
begin
  Horario:=GetTime; //Usando Now no me calcula bien los horarios
  BtEntrada.Enabled:=(Horario >= StrToTime('08:00:00')) and (Horario < StrToTime('12:00:00'));
  BtEntradaAlmuerzo.Enabled:=(Horario >= StrToTime('12:00:00')) and (Horario < StrToTime('14:00:00'));
  BtSalidaAlmuerzo.Enabled:=(Horario >= StrToTime('14:00:00')) and (Horario < StrToTime('18:00:00'));
  BtSalida.Enabled:=(Horario >= StrToTime('18:00:00')) and (Horario < StrToTime('08:00:00'));
end;
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
No puedo activar los botones de bdnavigator semaral Conexión con bases de datos 2 11-04-2008 11:39:08
Cambio de horario roman La Taberna 1 11-04-2007 22:33:21
Ajustes de horario Javier_A Varios 1 30-06-2004 13:31:18
Detectar Horario Verano/Invierno Javinho Varios 5 10-06-2004 16:40:24
En que horario prefieres programar? DarkSide Debates 19 11-02-2004 18:34:14


La franja horaria es GMT +2. Ahora son las 22:44:13.


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