Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problemas con formato TIME (https://www.clubdelphi.com/foros/showthread.php?t=13378)

kes 17-08-2004 12:35:21

Problemas con formato TIME
 
Hola a todos.

Tengo un problema con la impresión de un campo en formato TIME con FastReport.
Estoy creando un listado para saber las horas que ha trabajado a lo largo del mes un empleado. Para ello realizo una suma de todas las horas que ha trabajado cada dia y las muestro en otro campo. El problema es que la suma es superior a 24 horas y al pasar de esta cantidad de horas vuelve a empezar a contar de 0.
Si le quito la opción TIME del formato de variable en el Memo, sí que realiza la suma correctamente pero la muestra como un FLOAT, cosa que no me interesa.

¿Alguien sabe como puedo resolver este problema?

Saludos y Gracias.

jachguate 17-08-2004 17:41:45

En el evento onGetText del campo que sumariza las horas, pone algo como esto:

Código Delphi [-]
Var
  Horas, minutos : Word;

Begin
  Horas := trunc(consulta.fieldbyname('tiempoacumulado').AsDateTime * 24);
  minutos := trunc(frac(consulta.fieldbyname('tiempoacumulado').AsDateTime * 24) * 60);
  text := format('%3.3d:%2.2d', [Horas, minutos]);
end;

Hasta luego.

;)

kes 18-08-2004 14:03:26

Gracias por la respuesta. El problema que tengo es que necesitaria realizar este cálculo en el mismo listado de FastReport o como máximo en la consulta SQL, por que la aplicación que genera el listado es un componente MTS que no puedo modificar.
En la consulta SQL tampoco he sido capaz de sumar campos de tipo DateTime (donde solo me interesa la parte Time) que superaran las 24 horas.
Utilizo SQL Server.


La franja horaria es GMT +2. Ahora son las 04:01:09.

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