Ver Mensaje Individual
  #2  
Antiguo 20-06-2004
hogol hogol is offline
Miembro
 
Registrado: jul 2003
Posts: 62
Reputación: 21
hogol Va por buen camino
Hola buenas

Yo lo haría del siguiente modo:

1) Define una variable global como tdatetime. Por ejemplo
Código Delphi [-]
 var hora_inicio : Tdatetime;

2) En el evento oncreate del formulario añades esto:
Código Delphi [-]
hora_inicio := now;

3) Finalmente en el evento ontimer pon solo esta linea :
Código Delphi [-]
 edit1.text := timetostr(now-hora_inicio);

El problema de tu código es que defines la variable en el evento del timer, con lo cual el valor actual se pierde cada vez que sale del evento. Además, cada vez que se ejecuta el timer tu mismo pones el contador a cero, cuando solo deberias hacerlo una vez al comenzar el programa.
Finalmente, lo de sumar 'manualmente' el valor del contador tampoco es muy buena idea porque la precisión del timer no es muy buena y a la larga tu reloj terminaria adelantandose o atrasandose.

Saludos
Hogol
Responder Con Cita