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 16-10-2007
Patho Patho is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
Patho Va por buen camino
Suma de Horas

Hola muchachos, tengo el siguiente problema, tengo un programa donde hago la suma de horas (hh:mm:ss) y el problema es que cuando supero las 24 horas en la suma el contador vuelve a 0 por ejemplo si la suma es 26:34:10 la hora suma que muestra es 2:34:10 y no las 26 horas, hay alguna forma de que las pueda transformar a 26 horas y seguir aumentando la suma cuando corresponda??

las horas las rescato de archivos de texto plano .txt ya que asi es como me las entregan, rescado los datos en variables string y hago las sumas con strtotime(variable) para obtener el total de las suma de las horas

ojalá me puedan ayudar


saludos

Patho

Última edición por Patho fecha: 16-10-2007 a las 16:53:04.
Responder Con Cita
  #2  
Antiguo 16-10-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
Apuesto que la función HoursBetween te ayudara con lo que necesitas, pero recuerda que debes pasarle el valor de la fecha y la hora, no solo la hora porque el algoritmo "creeria" que estas hablando de un solo dia .
__________________
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 16-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Otra opción sería no usar fechas y horas.

Al leer del archivo lo pasas todo a segundos y lo guardas en tipo Integer o Int64. Cuando necesites mostrar el texto, con una rutina haces las divisiones oportunas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 16-10-2007
Patho Patho is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
Patho Va por buen camino
solucionado

muchas gracias por los comentarios, lo solucione un poco antes que me despondieras Lepe pero justamente eso fue lo que hice pase todo a segundops y despues realice el paso inverso, aca les pondoi las funciones que use por si a alguien mas le sirva

//** para separar el string de la hora (hh:mm:ss) cada una por separado
procedure Split
(const Delimiter: Char;
Input: string;
const Strings: TStrings) ;
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;


// Transformacion de Hora a segundos donde Hora es un String (hh,mm,ss)

function cantsegundos(horas:string):integer;
var
segundos : TStringList;
hora,min,seg : longint;
begin
segundos := TStringList.Create;
Split(':',horas, segundos);
hora := strtoint(segundos[0]) * 3600;
min := strtoint(segundos[1]) * 60;
seg := strtoint(segundos[2]);

cantsegundos := hora + min + seg;

end;



//Transformar de Segundos a Hora (hh:mm:ss)

function SegToHour(segundos:longint):String;
var
hora,min,seg : longint;
begin
hora := segundos div 3600;
min := (segundos mod 3600) div 60;
seg := (segundos mod 3600) mod 60;

SegToHour := inttostr(hora) + ':' + inttostr(min) + ':' + inttostr(seg);

end;



estas son las funciones que utilice gracias a todos por sus comentarios y sugerencias



hasta la proxima



Saludos

Patho
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
Problema con una suma EfrainSanmiguel HTML, Javascript y otros 4 21-09-2007 16:57:59
Suma de 100 tablas dbf Jucho69 Conexión con bases de datos 5 18-01-2007 20:20:35
Imprimir reportes con Suma de horas rjsitruiz Impresión 5 30-06-2004 20:45:57
suma en consulta sql pzala Varios 5 15-12-2003 02:06:05
Suma de horas II YolandaM Varios 10 19-11-2003 22:05:39


La franja horaria es GMT +2. Ahora son las 12:07:29.


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