FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Problema con calculos de hora
Hola Compañeros del foro, estoy en un proyecto de control de asistencia de personal, y estoy teniendo problemas con la comparación de la hora para definir si el empleado llegó tarde o no, aqui os pongo una parte del código (porque es muy extenso):
Aqui las variables:
Aquí donde trato de hacer la comparación la cual lo ignora:
el objetivo de éste último código, si la tanda del usuario es 1 (Vespertina), verifica si la hora actual es mayor a la hora límite de la llegada, si es así, se le apunta como una tardanza, pero la ignora, igual ejecuta el código aunque la hora actual sea menor que la del límite, por eso pienso que el problema esta en el cálculo de las horas, estoy trabajando con Delphi 7 y FB2.0. A ver quién me echa una manita . Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. Última edición por enecumene fecha: 29-05-2008 a las 18:25:20. |
#2
|
||||
|
||||
Hola
Supongo que hay mucha mas informacion que la que proporcionas, para mi no coinciden algunas cosas. Parece que: TiempoDespues := '00:30:00'; es el dato que se introduce en el campo (ZConfigHORA1) pero como string. Luego se quiere hacer una comparacion de un dato TIME con uno string. No entiendo muy bien el asunto, me parece que formateando la hora seria suficiente pero no entiendo lo que pretendes hacer. Saludos |
#3
|
||||
|
||||
Vale, Aquí más información:
ZConfigHORA1 = La hora límite de llegada, por defecto está como 8:15:59 AM. TiempoDespues = viene siendo media hora despúes del registro, despúes de media se realiza la salida. Ahora = viene siendo el tiempo en el momento. Ahora bien, la hora de llega oficial es a las 8:00:00 AM y el límite es a las 8:15:59 (ZConfigHORA1) si el usuario llega en ese rango no se marca tardanza pero despúes de ahi si se marca la tardanza, ejemplo: juan perez llego marco a la 8:05:27 AM tardanza: 0 Fernando Leonor llego marco a las 8:16:31 AM tardanza: 1 de ahi el codigo:
Si Ahora es mayor que la hora limite pues se marca tardanza si no, No se marca. Espero haberme explicado mejor, . Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. Última edición por enecumene fecha: 29-05-2008 a las 19:56:38. |
#4
|
|||
|
|||
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: ? Saludos... |
#5
|
||||
|
||||
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:
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. |
#6
|
||||
|
||||
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 ! |
#7
|
||||
|
||||
__________________
Piensa siempre en positivo ! |
#8
|
||||
|
||||
Cita:
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#9
|
||||
|
||||
Hola, gracias a Gluglu pude resolver esa parte del código de esta manera:
Gracias Gluglu, ahora, hice lo siguiente para esta otra parte del código:
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. |
#10
|
||||
|
||||
Hola
Cita:
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 |
|
|
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 |
|