Ver Mensaje Individual
  #4  
Antiguo 08-03-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Que nivel de precision necesitas? Dias? Horas? Minutos? Los tipos TTime, TDate y TDateTime son en realidad alias de Double, y los numeros en coma flotante no son los mas adecuados para manejar precision, ya que se pueden perder digitos; aunque si son adecuados para manejar numeros "grandes"

Yo creo que lo mejor es utilizar enteros puros y luego "interpretarlos" como si fuesen milisegundos, segundos, minutos, o la unidad que te parezca.

Por lo general se utilizan enteros de 64 bits (UInt64, o Cardinal, que es un alias de UInt64 en Win32)

Hay soluciones ya hechas y funcionando en el lenguaje, dependiendo de tu version de Delphi, tenes la unidad System.Diagnostics la cual define una clase especial, TStopWatch

Para versiones de Delphi mas antiguas, si buscas por el foro vas a encontrar una solucion que utiliza la API de Windows; este truco simplifica un poco las cosas y hay un ejemplo

Si tu objetivo es aprender y queres solucionar y entender porque no te anda (lo cual me parece barbaro) necesitamos que publiques mas codigo para poder ver que anda mal.

Te recomiendo que busques material en el foro sobre depuracion, que es muy util para este tipo de cosas. No solo te hace mejor programador, sino que te sirve para solucionar problemas "tontos" vos mismo
Responder Con Cita