Ver Mensaje Individual
  #6  
Antiguo 23-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Sí, básicamente es eso.

Podrías utilizar un registro (o un objeto) por cada elemento que quieres dar de alta en tu aplicación, por ejemplo:
Código Delphi [-]
Type TElemento = record
   intervalo:Extended ; // el tiempo de tiempo que el usuario pone para actualizarse 
   inicio,  // cuando empezó a monitorizarse
   Fin :TDateTime ; // inicio + intervalo
   enMarcha:Boolean; // para saber si este crono está funcionando o no.
end;

elementos = array [0..79] of TElemento
Pero al hablar de "timers" y precisión me he ido por los cerros de úbeda.

Es más fácil poner un solo timer de 1 minuto. Cuando quieras dar de alta un elemento:
- asignas enMarcha a true para ese elemento.
- inicio := now; // una llamada a la fecha y hora actual del sistema
- Fin := inicio + intervalo; (intervalo expresados en días, por eso es un real, 1 segundo vendría a ser : 1 / (24 * 60 * 60))

En el evento OnTimer, captas la hora actual del sistema y la comparas con todo el array, así compruebas si tienes que actualizarlo o no.

Código Delphi [-]
actual := now;
for i:= 0 to 79 do
  if elementos[i].enMarcha then
    if elementos[i].Fin < actual then
    // hay que actualizar
Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 23-10-2008 a las 20:02:25.
Responder Con Cita