Delphi - Problemas con Restas horas

 
Vista:

Problemas con Restas horas

Publicado por Misael (51 intervenciones) el 18/06/2004 01:22:40
Estoy desarrollando una aplicacion en delphi, que se encargara de monitorear los estados en que se encuentra las habitaciones de una cabana, ejemplo: disponible, ocupada, mantenimiento.

para ocupar la habitacion se le da un tiempo limite, yo estoy almaceno, en la habitacion que la persona ocupa la hora entrada, fecha entrada,
hora entrada, en la estructrua de la tabla esta con un valor ascci.

yo hago un calculo para saber si la hora actual - la hora entrada es igual o mayor al limite, para cambiar el estatus de la habitacion.

pero tengo un problemita con el calculo, inmediatamente la hora de salida de esa persona viene a pasar al otro dia, el calculo de la hora actual con la de entrada no es correcto.

me refiero a que si la persona entro a las 11:30 p.m , del 2 de mayo
y la hora de limite es de 4.

vendria siendo su salida como a las 1:00 a.m del otro dia.

yo hago con un timer, un chequeo de la hora de entrada con la actual, para saber el tiempo transcurrido, pero ese problemita que tengo para poder devolver un tiempo transcurrido cuando sucede un cambio de dia, no lo he logrado resolver, necesito una ayudita urgente, por favor si alguien conoce algun algoritmo , o idea para resolver este problema, se lo agradecere mucho que me lo haga llegar por email.

para que tenga una idea de la estructura de la tabla:

La tabla es de tipo .dbf
codigo char
tipo char
hora_e char
fecha_e Date
hora_s char
fecha_s Date
hora char
minuto char
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Restas horas

Publicado por shannon (31 intervenciones) el 18/06/2004 17:04:26
delphi tiene una amplia colleccion de funciones para hora y fecha. busca en DATETIME ROUTINES en la ayuda de delphi te sorprenderas. por ejemplo puedes usar hourbetween(). otra q podrias hacer es guardar un formato completo de fecha es decir fecha +hora y los restas es decir 2004/02/02 02:00:00 am - 2004/02/01 11:30 pm , aunq esta es menos elegante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar