Añadir un VAR para realizar un seguimiento de cuándo se inició el temporizador.
TForm1 = class(TForm)
private
timerStart: TDateTime;
public
proceure StartTimer;
end;
El procedimiento para iniciar el temporizador
proceure TForm1.StartTimer;
beign
timerStart := now();
timer1.interval = 1000;
timer1.enabled := true;
end;
En el evento AlCronómetro
Label1.caption := formatdatetime('hh:nn:ss', timerStart - now()); //nn is for minutes.
Esto debe mostrar la hora correcta tomada para cualquier intervalo.
es decir, 5000 para mostrar cada 5 segundos, el tiempo empleado.
Nota: Sin pruebas, puede que el funcionamiento del temporizador durante más de 24 horas no muestre la diferencia horaria correcta. Para ese creo que que la cadena de formato de fecha y hora debe ser algo así como dd hh:nn:ss
para mostrar los días pasados
Es imposible saber lo que quiere hacer basándose únicamente en la información proporcionada en su pregunta. Necesita decirnos exactamente qué desea lograr. ¿Desea ayuda para convertir un número de milisegundos en horas, minutos y segundos, o desea animar un reloj digital con la cuenta atrás, o ...? –
solo para mostrar la hora (hh: mm: ss) en Etiqueta. "Convertir un número de milisegundos en horas, minutos y segundos" o sin convertir si es posible hacerlo. – maxfax
¿Definir eficiente? Tiempo mínimo de ejecución? Código mínimo? Minimal StackOverflow búsquedas? – dthorpe