Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Caral, en que lugar se asigna TiempoDespues al campo ZConfigHora1? Por que yo no lo veo por ningún lado...

Ahora, enecumene, la verificación de la hora no debería ser:

Código Delphi [-]
if Ahora > MarcarLuego then
begin
  // ...
end
?

Saludos...
Responder Con Cita
  #2  
Antiguo 29-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Gracias Maeyanes por responder, MarcarLuego se trata de otro código que forma parte de ese que posteé, su función es la siguiente:

ZMarcadoENTRADA = es la hora de llegada que marcó el empleado.
MarcarLuego = es la suma de 30 minutos + la hora de llegada.

Ejemplo;

Fernando Leonor llego marco a las 8:16:31 AM
Fernando Leonor vuelve a marcar por que olvido ya habia marcado, a las 8:28:15.

8:16:31 + 00:30:00 = 8:36:31;

Si 8:28:15 es menor que 8:36:31 le avisa al empleado que ya marcó, es para evitar doble registro.

Código:

Código Delphi [-]
if Ahora < MarcarLuego then
            begin
              Label1.Caption := '¡Ya habías Ponchado!';
              Actualizar.Enabled := True;
              Exit;
            end

Pero el problema es que las ignora, los brinca y sigue el proceso.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 29-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Sin entrar en mayores análisis del código expuesto, solamente digo que trabajar con horas y variables tipo TTime me ha traido demasiados quebraderos de cabeza.

Desde hace tiempo decidí convertir previamente todos los tipos Time a String, antes de cualquier operación, consultar, etc. (Eso no quita que en la base de datos las sigo almacenando como tipo Time).

Y desde entonces todos mis problemas desaparecieron.

Es simplemente una reflexión.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 29-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Código Delphi [-]
Ahora       := FormatDateTime('hhnnss', Time);
MarcarLuego := FormatDateTime('hhnnss', ZMarcadoENTRADA.Value + StrToTime(TiempoDespues));
if Ahora < MarcarLuego then
  ....
__________________
Piensa siempre en positivo !
Responder Con Cita
  #5  
Antiguo 29-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Cita:
Empezado por gluglu Ver Mensaje
Sin entrar en mayores análisis del código expuesto, solamente digo que trabajar con horas y variables tipo TTime me ha traido demasiados quebraderos de cabeza.

Desde hace tiempo decidí convertir previamente todos los tipos Time a String, antes de cualquier operación, consultar, etc. (Eso no quita que en la base de datos las sigo almacenando como tipo Time).

Y desde entonces todos mis problemas desaparecieron.

Es simplemente una reflexión.
Pues deja hacer el intento de convertir todos los time en string, luego os comento.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 29-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Hola, gracias a Gluglu pude resolver esa parte del código de esta manera:


Código Delphi [-]
var  MarcarLuego, Ahora, Limite: string;
           TiempoDespues: TTime;
      
      TiempoDespues := IncMinute(ZMarcadoENTRADA.value, 30);
      MarcarLuego := FormatDateTime('hhnnss', TiempoDespues);
      Ahora := FormatDateTime('hhnnss', Time);
      Limite := FormatDateTime('hhnnss', ZConfigHORA1.Value);

if ZTable1TANDA.AsInteger = 1 then
                  begin
                    if Ahora > Limite then
                      begin
                        ZAtraso.Close;
                        ZAtraso.SQL.Clear;
                        ZAtraso.SQL.Add('insert into TARDANZAS(ID,EMPID,FECHA) values(NULL, :Cod, :Hoy)');
                        ZAtraso.ParamByName('Cod').AsInteger := ZTable1ID.AsInteger;
                        ZAtraso.ParamByName('Hoy').AsDate := Date;
                        ZAtraso.ExecSQL;
                      end;
                    end;

Gracias Gluglu, ahora, hice lo siguiente para esta otra parte del código:

Código Delphi [-]
if Ahora < MarcarLuego then
            begin
              Label1.Caption := '¡Ya habías Ponchado!';
              Actualizar.Enabled := True;
              Exit;
            end

Pero no me la está tomando en cuenta, no entiendo, por qué en un lado funciona y en el otro no?. Bueno, el código anterior tiene la función como había explicado anteriormente, que si un empleado marcó a una hora y por cosa de la vida no recuerda que habia marcado su entrada y vuelve a marcar antes de media hora luego de haber marcado la primera, el sistema le avisa que ya marcó su hora, pues a pesar de la propuesta de Gluglu en este caso me sigue ignorando el calculo.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #7  
Antiguo 30-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Se debe de escapar algo en tu código ...

Algo tiene que haber en tu código que te modifique los valores. Deberás comprobar justo antes de la comparación, los valores que toman las variables.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #8  
Antiguo 30-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Cita:
Empezado por gluglu Ver Mensaje
Se debe de escapar algo en tu código ...

Algo tiene que haber en tu código que te modifique los valores. Deberás comprobar justo antes de la comparación, los valores que toman las variables.
Vale, estoy en eso y no he encontrado el problema, pero ya lo encontraré y luego te comento la solución, y de Nuevo gracias por tu ayuda .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #9  
Antiguo 30-05-2008
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Yo lo que no entiendo es por qué tratar los datos time como strings. Los times son números y por lo tanto más fáciles de hacer cálculos con ellos.
Responder Con Cita
  #10  
Antiguo 29-05-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Cita:
Empezado por maeyanes Ver Mensaje
Hola...

Caral, en que lugar se asigna TiempoDespues al campo ZConfigHora1? Por que yo no lo veo por ningún lado...
Pues es una buena pregunta, pero no tengo la respuesta, como tampoco veo por ningún lado la relación de marcarluego como indicas.
Normalmente es para pedir un poco mas de información, ya que no se entiende.
Os dejo con esto, que para eso sois los que sabéis.
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con hora JULIPO MySQL 1 30-08-2007 18:47:39
Problema con hora en consulta SQL coleleon SQL 5 06-12-2005 23:44:57
Problema con Fecha/Hora ... Epunamun API de Windows 5 23-09-2005 01:51:22
Problema en ver la hora con TdateTimeField nugame Conexión con bases de datos 1 16-12-2004 15:40:47
problema con campo hora mariajoiz Conexión con bases de datos 2 08-05-2003 12:12:58


La franja horaria es GMT +2. Ahora son las 19:52:53.


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