Ver Mensaje Individual
  #1  
Antiguo 12-02-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Reputación: 18
noob Va por buen camino
Código que se ejecute una sóla vez en un momento determinado del día

Hola, estoy intentando hacer un código que se ejecute una sóla vez en un instante dado del día, he hecho esto y me funciona, sólo se ejecuta una vez:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 0; // i es un atributo del formulario
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(i));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (TimeToStr(Time) = '22:12:00') and (i = 0) then
    i := i + 1;
    // Proceso una gran cantidad de datos
end;

He establecido la propiedad Interval del TTimer a 1 para que coja bien la hora pero claro esto puede hacer que al ir tan rápido entre de nuevo en el evento OnTimer antes de que se ejecute i := i + 1, que es la forma que tengo para que no vuelva a entrar en el if.

¿Está bien así o puede darme problemas porque se ejecute más de una vez?
Responder Con Cita