Ver Mensaje Individual
  #17  
Antiguo 26-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
Iba a decir que estaba totalmente de acuerdo con la primera frase de rastafarey, hasta que leí la frase del millón:

Cita:
Empezado por Luis Alberto
quiero que el proceso inicie cada intervalo de 3:00 horas. me podrias decir con algun ejemplo como platearia esto.
Ahhhhh hombre empecemos por ahí. Si hubieras dicho esto desde un principio, no se habría formado el pollo con la famosa "hora de inicio".

Colocamos un Objeto TTimer en la ventana, como ya dijo vtdeleon, despues en su propiedad Interval colocamos 180000 (que es el resultado de: 3 horas * 60 minutos * 1000 segundos), ya que el tiempo se le da en milisegundos.

Al iniciar el programa, se guarda en un archivo la hora actual, que será la hora de inicio para las consultas. Si en este momento ha de hacerse los reportes... pues se llama a la función que se encarga de eso, si no debe hacerse, pues se pone el Timer Activo y ... a esperar 3 horas.

En su evento Ontimer ponemos algo así:

- Leer del archivo la hora de inicio, y guardarla en una variable.
- Grabar en el archivo la hora actual, (que sirve de hora de inicio, la próxima vez que se ejecute este evento, recuerda, se ejecutará cada 3 horas)
- Hacer los reportes o lo que sea.
- Se acabó.

Al hacer los "reportes o lo que sea", simplemente será ver si la consulta que se abre tiene resultados, es decir:
Código Delphi [-]
  if not Query1.IsEmpty then
  begin
    // significa que hay resultado, es decir hay pagos entre el rango de horas, por 
   //tanto, hacemos lo que se deba hacer....
  end
  else 
    // no hacemos nada, porque no hay pagos.


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: 26-12-2005 a las 22:01:11.
Responder Con Cita