![]() |
Variable que suma mas de 24h
Buenos días,
necesito definir una variable que sume el total de las hora trabajadas de un trabajador. Tengo todo bien excepto un detalle importante. Al sumar las horas las meto en una variable TTime y resulta que si por ejemplo son 25h, solo me dice 1 Llego a la conclusión que ese tipo de variable abarca desde 0 a 24 pero no pasa de ahí (es logico) ¿Que tipo de variable puedo usar para obtener un resultado ilimitado de horas? Me interesa que si sumo 21h, 20h y 23h el resultado sea 64h, todo esto manteniendo un formato de hora. Como referencia los campos que sumo son de tipo TTime. Gracias de Nuevo por vuestra ayuda. |
Debes tener claro que una cosa es el formato y otra los datos.
Si quieres sumar horas, puedes usar un Byte o un entero, otra cosa después es cómo muestres el resultado. |
A que te refieres?
Te importa ponerme un ejemplo para hacerme una idea, me pierdo con esto y le estoy dando vueltas sin obtener resultado. Suponemos que tengo dos campos tipo Time, que llamo horas1 y horas2 Quiero que una variable sume los dos campos de tal manera que: horas1 = 23:00 horas2 = 21:00 Necesito una variable que de por resultado 44:00 Si esa variable la defino tipo TTime el resultado es 20:00 |
pues usas un Integer, que suma muchisimo, y luego pues divides entre 24 y ya
|
Hola Delphitest, puedes utilizar el tipo Real, en el resultado de la suma, la parte entera te dara los días y la parte decimal las horas, a la cantidad de dias le multiplicas por 24 .....
De esa forma tomamos en cuenta los minutos, segundos.... Saluditos |
Muchisimas gracias Caro
funciona con lo que me dices a la perfección. Para rizar el rizo ¿es posible ver siempre la hora y minutos con dos digitos? Veo que cuando aparece por ejemplo 3h pone 3:0 ¿Es posible ver 03:00? No tiene demasiada importancia pero quedaría mas presentable en el informe. Si no lo dejo como está porque el cálculo está correcto. Un saludo |
Cita:
Saluditos |
Otra cosita que se me olvidaba, para la parte de las horas debes aplicar la función Trunc para que te devuelva como entero.
Saluditos |
Solución rápida y eficaz :)
Muchas Gracias, ya lo he implantado y funciona a la perfección. |
| La franja horaria es GMT +2. Ahora son las 17:36:32. |
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