Delphi - Sumar horas

 
Vista:

Sumar horas

Publicado por Carlos (2 intervenciones) el 23/02/2006 21:47:26
Necesito sumar horas pero cuando pasa las 23:59:59 vuelve a cero y deberia ser un dia con tanats horas.
como puedo realizar este tipo de suma y mostrar como resultado 1dia con 2 hs y 20 min. las horas las tomo de un campo del tipo time de paradox con delphi5
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:Sumar horas

Publicado por Virum (484 intervenciones) el 28/02/2006 01:01:54
Hola:

Que yo sepa, la única manera es que te hagas una función que realice eso.

Una idea que se me ocurre ahora padía ser más o menos así:

dos variables integer
iHoras, iMinutos: integer

inicializadas a 0

vas recorriendo la tabla y acumulando en las variables iHoras, iMinutos las horas y los minutos que vas cogiendo del CAMPOTIME

iHoras := iHoras + StrToInt(Copy(FormatDateTime('hh:mm', DataSetCAMPOTIME.AsDateTime),1,2));

iMinutos := iMinutos + StrToInt(Copy(FormatDateTime('hh:mm', DataSetCAMPOTIME.AsDateTime),4,2));

Imaginemos que te ha dado 230 horas y 459 minutos. Ahora transformas esto a días, horas y minutos:

- El resto de dividir 459 entre 60 serán los minutos del resultado final (39 m.)
- La parte entera de dividir 459 entre 60 son horas (en este caso 7) que debes sumar con las otras horas: 7 + 230 = 237 horas
- El resto de dividir 237 entre 24 seran las horas del resultado final (21 horas)
- La parte entera de dividir 237 entre 24 serán los días del resultado final ( 9 días)

Resultado final: 9 días, 21 horas, 39 minutos.

Mira las funciones Div, Int, Mod...

Suerte.
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

RE:Sumar horas

Publicado por Asgard (9 intervenciones) el 04/03/2006 00:06:05
TimeoutMinutes obtienes los minutos transcurridos de una hora inicial a una final, ya despues solo divides y obtienes las horas, los dias, etc.....
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

RE:Sumar horas

Publicado por aldus (1 intervención) el 11/03/2006 02:14:06
lo que podes hacer es usar la funcion daysbetween(datetime1, datetime2), tambien tenes hoursbetween() y minutesBetween(), con estas funciones basa poder hacer lo que queres. saludos
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

RE:Sumar horas

Publicado por Carlos (2 intervenciones) el 28/03/2006 13:36:20
Gracias VIRUM, ASGARD y ALDUS por sus respuestas, me resultaron muy utiles.
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