Iniciar Sesión

Ver la Versión Completa : [Duda] Ejecutar acciones en horas determinadas por Timer


Joseg
23 de octubre de 2015, 13:18
Quero que um programa em Powercobol execute determinadas funções em determinadas horas. Por exemplo atualizações em das BDs as 13h e as 20h.
Não queria usar a ferramenta do windows para planeamento de tarefas.
Alguém tem alguma dica?

Obrigado
José Manuel

Kuk
23 de octubre de 2015, 14:22
Joseg, sin la ayuda del planificador de tareas de Windows, la única posibilidad de hacerlo es que tu programa esté en ejecución todo el día.

Si el programa va a estar en ejecución todo el día, no hay ningún problema. Con el Timer haces ACCEPT FROM TIME y con un IF preguntas si es la hora necesaria o no.

Lecterman
23 de octubre de 2015, 18:53
Hola Joseg, sin dudas la única forma, sin usar el programador de tareas es hacer un programa.

Hice tengo un programa que lanzo desde otra aplicación y cada determinado tiempo chequea actualizaciones. El usuario tiene la posibilidad de marcara cada cuanto desea hacer este chequeo (horas o minutos) y para eso utilizo el Timer para contar los minutos y las horas.

Espero sirva de idea.

Joseg
23 de octubre de 2015, 19:01
Joseg, sin la ayuda del planificador de tareas de Windows, la única posibilidad de hacerlo es que tu programa esté en ejecución todo el día.

Si el programa va a estar en ejecución todo el día, no hay ningún problema. Con el Timer haces ACCEPT FROM TIME y con un IF preguntas si es la hora necesaria o no.



Gracias !! Work !!

---------- Post añadido : 18:01 ---------- Post anterior : 18:00 ----------

Hola Joseg, sin dudas la única forma, sin usar el programador de tareas es hacer un programa.

Hice tengo un programa que lanzo desde otra aplicación y cada determinado tiempo chequea actualizaciones. El usuario tiene la posibilidad de marcara cada cuanto desea hacer este chequeo (horas o minutos) y para eso utilizo el Timer para contar los minutos y las horas.

Espero sirva de idea.

Gracias!

Rapinto
24 de octubre de 2015, 00:45
JOSEG,

A utilização do Timer consome CPU permanentemente.

Para evitar isso, deveria ser feito um Call à API do Windows Sleep.

" The Sleep function suspends the execution of the current thread for a specified interval.

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) "

Esta função não consome CPU.

Eu já utilizei num programa e funcionou bem:


MOVE 100 TO MILISECONDS.
CALL "Sleep" WITH STDCALL USING
BY VALUE MILISECONDS.


Saludos,
Rui Pinto

Kuk
26 de octubre de 2015, 09:22
Rapinto, la función Sleep vale en un bucle, pero para hacer funcionar la comprobación en paralelo con otro(s) tratamiento(s) es necesario un Timer, creo...

Joseg
13 de noviembre de 2015, 11:02
JOSEG,

A utilização do Timer consome CPU permanentemente.

Para evitar isso, deveria ser feito um Call à API do Windows Sleep.

" The Sleep function suspends the execution of the current thread for a specified interval.

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) "

Esta função não consome CPU.

Eu já utilizei num programa e funcionou bem:


MOVE 100 TO MILISECONDS.
CALL "Sleep" WITH STDCALL USING
BY VALUE MILISECONDS.


Saludos,
Rui Pinto


Obrigado pela dica. Já testei. É mais uma opção.

Cumprimentos,
JoseManuel