Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 04-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Me parece que lo mejor sería hacer una consulta SQL que se encargue de realizar las cuentas y así evitas tener que recorrer todos los registros.

El cómo se haga la consulta dependerá de la base de datos que uses ya que algunas disponen de más funciones que otras para manejar horas.

En el peor de los casos, Paradox, podrías hacer algo como:

Código SQL [-]
select
  sum(
    (
      3600*extract(hour from salida1) +
      60*extract(minute from salida1) +
      extract(second from salida1)
    )
    -
    (
      3600*extract(hour from entrada1) +
      60*extract(minute from entrada1) +
      extract(second from entrada1)
    )
  )
  +
  sum(
    (
      3600*extract(hour from salida2) +
      60*extract(minute from salida2) +
      extract(second from salida2)
    ) -
    (
      3600*extract(hour from entrada2) +
      60*extract(minute from entrada2) +
      extract(second from entrada2)
    )
  )
  as total
from
  tabla
where
  clave = 125

que te devolvería un único registro con un campo cuyo valor sería el número total de segundos.

Una vez que leas este valor puedes entonces descomponerlo en sus partes y pasarlo a una variable TTime:

Código Delphi [-]
var
  T, H, M, S: Integer;
  Time: TTime;

begin
  T := Query1['total'];

  H := T div 3600;
  M := (T mod 3600) div 60;
  S := (T mod 3600) mod 60;

  Time := EncodeTime(H, M, S, 0);
end;

Para sacar el total de sólo unos días puedes añadir el rango de fechas a la condición WHERE.

// Saludos
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:45:13.


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
Copyright 1996-2007 Club Delphi