FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
No me gusta este Codigo, Me ayudan?!
Buen dia:
Estoy haciendo un programita en el que cuento tiempo en un cliente, el tema es que estoy contando el tiempo convirtiendo segundos con un formatdatetime pero eso me di cuenta que al llegar a las 24hs se vuelve a cero, logico porque sumaria 1 dia, pero tengo que mostrar solo horas, o sea si esta logueado 25 hs me muestre 25:00:00... por lo tanto genere el siguiente algoritmo: (el timeseparator es un char que tiene : ) Bueno, esto anda perfercto, pero me gusta ser prolijo y aprender mas,, alguien me puede decir como mejorar esto.. me parece muy fea la funcion formateartiempo para empezar... me pueden dar una mano? gracias.! Última edición por Neftali [Germán.Estévez] fecha: 27-10-2005 a las 17:30:03. Razón: Cortar texto y cambiar etiquetas |
#2
|
|||
|
|||
mmm podrias utilizar la funcion de la api de windows GetTickCount, te dice el numero de milisegundos o segundos (no recuerdo) que el windows lleva activo, podrias hacer algo asi:
Inicio := GetTickCount; y al final lo vuelves a obtener para sacar la diferencia y conviertes el resultado a minutos, horas o lo que desees. la otra es que al restar 2 variables FechaHora, te regresa la diferencia la parte entera te dice cuantos dias fueron, y la parte decimal la conviertes normal a hora, minutos y demas, y transformas a lo que tu quieres... |
#4
|
||||
|
||||
Directamente trabaja con las rutinas que tienes en la unidad DateUtils de Delphi.
Al menos en delphi 6 tienes: y un largo etc. Básicamente lo pasas todo a segundos o milisegundos, algo así: He separado el carácter 2 puntos, porque creo recordar que interfiere con la función format, ya sería cosa de mirarlo con más detalle. Consejo: Nunca trabajes con Times, siempre con TdateTime, (por lo que comentas del cambio de fecha). saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
sólo una pequeña corrección al código para tiempos mayores de 3600 segundos
|
#6
|
||||
|
||||
;)
Bueno, podemos decir que ha quedado todo correcto con la ayuda de ustedes. Gracias a todos!!!!
|
|
|
|