Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-09-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Question Sumar horas

Hola un saludo a todos primero que nada, tengo una duda sobre la suma de horas

Código Delphi [-]
var hora1, hora2, horast:TTime;
begin

hora1:=StrToTime('15:00:00');
hora2:=StrToTime('32:00:00');
horast:=hora1+hora2;
end;

Esto me da una excepción y sé que es por que TTime acepta solo hasta 24 horas, he visto otros post sobre esto pero me he enredado con toda la informacion, he visto que hay que usar TDateTime pero para esto le tengo que pasar una fecha y yo sólo quiero que pueda sumar horas sin involucrar fechas, ¿se puede hacer eso?, sumar 15:00 + 23:00+46:30+12:32...?

Esperoque puedan ayudarme, gracias.
Responder Con Cita
  #2  
Antiguo 20-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jlrdz.

Es que las horas de un día son 24. Sumarle algo a ese número de horas o realizar una suma que las supere, implica un aumento en un día. No es Delphi, así es el manejo horario.

Si deseas medir magnitudes de tiempo mayores a 24 horas, en esa misma unidad de tiempo, no deberías usar una variable TTime, sino una de tipo Word por ejemplo.

Revisá la funcion EncodeTime y el procedimiento DecodeTime.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 20-09-2011 a las 19:20:32.
Responder Con Cita
  #3  
Antiguo 20-09-2011
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
lo que podrias hacer es revisar primero cada valor y dividirlo entre 24 para sacar los dias, y el resto son las horas, y para obtener el valor de la suma, multiplicar los dias por 24 y agregarle la hora, pero si solo sumas horas, para obtener horas y utilizar horas, pues coincido en que uses una varible word, integer, etc...
Responder Con Cita
  #4  
Antiguo 21-09-2011
Avatar de alej.villa
alej.villa alej.villa is offline
Miembro
NULL
 
Registrado: may 2011
Ubicación: Caracas, Venezuela
Posts: 76
Poder: 13
alej.villa Va por buen camino
Lo otro que puedes hacer es agregar DateUtils a la uses de tu unit y crear una simple regla de 3 con la funcion que te ofrece ese utilidad.
asignas una variable a la funcion para que sepas el resultado seria algo como
****
var
n:integer;
begin
n:= HoursBetween(hora1.time,hora2.time);
showmessage(IntToStr(n));
end.
****
Responder Con Cita
  #5  
Antiguo 21-09-2011
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
...

Gracias por sus respuestas, estoy trabajando en ello.
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
Sumar Horas BuenaOnda MySQL 6 10-07-2008 08:48:37
Sumar Horas BuenaOnda MS SQL Server 7 26-01-2008 04:12:03
sumar horas rober Varios 14 10-06-2004 01:30:57
Sumar Horas?? YolandaM Varios 4 09-11-2003 09:21:46


La franja horaria es GMT +2. Ahora son las 18:32:40.


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