Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2007
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Poder: 20
JerS Va por buen camino
Ayuda acumular Horas

Buenas amigos como estan, necesito de su ayuda para que me aclaren una duda que tengo, saben necesito acumular un cierto numero de horas, pero cuando las voy acumulando y la suma sobrepasa las 24 Hrs, me vuelve a comenzar desde cero, es como que me pudiera guardar como maximo 24 Hrs :S... si me puede ayudar seria lo maximo...
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita
  #2  
Antiguo 23-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, es que en el acumulado también debes tener en cuenta la fecha, de lo contrario, es como si estuvieras acumulando las horas de un solo día. (Si nos muestras tu codigo, seguramente podríamos ayudarte).

Por otro lado, puedes probar la función HoursBetween, seguramente te ayudara a resolver el problema mas facilmente.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 23-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por jhonny
(Si nos muestras tu codigo, seguramente podríamos ayudarte)
Muy cierto!

Código Delphi [-]
var Start, Last: TTimeStamp; Horas: Cardinal;
begin
 Start := DateTimeToTimeStamp(Now);

...
Sleep(1000); // simplemente para tener una idea!
...

 Last := DateTimeToTimeStamp(Now);
 Horas := ((Last.Date - Start.Date) * 24) + ((Last.Time - Start.Time) div MSecsPerDay);
end;

Un cronometro?
Responder Con Cita
  #4  
Antiguo 23-07-2007
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Poder: 20
JerS Va por buen camino
Bueno en realidad es un sistema de control de asistencia, y en este muestro la cantidad de horas trabajadas, las tengo guardadas en una tabla, son de tipo time en mysql, pero quiero acumularlas para obtener el total de horas trabajadas en cierto lapso de tiempo
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita
  #5  
Antiguo 23-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Tengo una duda incontenible, tal sistema debe incluir a los segundos tambien verdad? por que no guardas la cantidad de segundos trabajados? como el asunto es mensual (supongo), debe reiniciar el contador o iniciar una nueva tupla (registro) mensualmente?

diariamente guarda:

[delphi]
var Entrada, Salida: TTimeStamp; Horas: Cardinal;
begin
Entrada := DateTimeToTimeStamp(Now); // La hora de entrada del empleado del día de hoy


...
...

Salida := DateTimeToTimeStamp(Now); // La hora de salida del mismo empleado
Horas := ((Salida.Date - Entrada.Date) * SecsPerDay) + ((Salida.Time - Entrada.Time) div MSecsPerSec);
end;[delphi]


finalmente tal valor lo añades al antuguo registro. puedes hasta guardar la hora de entrada temporalmente.
Responder Con Cita
  #6  
Antiguo 23-07-2007
Avatar de courtois
courtois courtois is offline
Miembro
 
Registrado: abr 2006
Ubicación: Mexico DF
Posts: 200
Poder: 19
courtois Va por buen camino
A mi siempre me ha funcionado esto
Código Delphi [-]
var Entrada, Salida: TDateTime; 
     Horas: Real;
begin
Entrada := Now; // La hora de entrada
...
...
Salida := Now; // La hora de salida del mismo empleado
Horas := (Salida - Entrada) * 24;
end;
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como acumular horas? zugazua2001 Varios 3 03-09-2006 21:42:39
Truncar Horas lucasarts_18 MS SQL Server 6 02-02-2006 14:03:44
Ayuda para comparar Horas JerS Varios 4 21-09-2005 17:06:31
Acumular Valores-FastReport IVAND Impresión 5 03-08-2004 01:08:27
SQL y las horas FRANKER SQL 2 14-05-2003 10:50:40


La franja horaria es GMT +2. Ahora son las 06:28:46.


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