![]() |
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.! |
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... |
Una variación a tu función formateartiempo:
Saludos... |
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 |
sólo una pequeña corrección al código para tiempos mayores de 3600 segundos
|
;)
Bueno, podemos decir que ha quedado todo correcto con la ayuda de ustedes. Gracias a todos!!!!
|
La franja horaria es GMT +2. Ahora son las 00:07:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi