Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Componente] Cómo usar el Timer orlando PowerCOBOL (ActiveX, v4 - v11) 3 1 de febrero de 2021 21:14
[Sintaxis] Uso Equivalente al Timer Anthony AcuCobol 6 25 de marzo de 2019 19:40
[Sintaxis] Crear pausa en un bucle con un Timer Josber PowerCOBOL (ActiveX, v4 - v11) 8 8 de agosto de 2017 19:17
[Sintaxis] Evento Timer de más de 65535 ms Josber PowerCOBOL (ActiveX, v4 - v11) 4 8 de junio de 2016 16:19
[Componente] Direferencia entre horas Gatomalo PowerCOBOL (ActiveX, v4 - v11) 1 20 de noviembre de 2015 22:32

Respuesta
 
Herramientas

  #1
Antiguo 23 de octubre de 2015, 13:18
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179
Pregunta Ejecutar acciones en horas determinadas por Timer
0 Inactivo Inactivo

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
Joseg is offline   Responder Con Cita
  #2
Antiguo 23 de octubre de 2015, 14:22
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

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.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 23 de octubre de 2015, 18:53
Lecterman
Forero Junior
Última Actividad 31.08.2021 22:45
Posts Posts: 8
Likes enviados Enviados: 3
Likes recibidos Recibidos: 1

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.
Lecterman is offline   Responder Con Cita
  #4
Antiguo 23 de octubre de 2015, 19:01
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Kuk Ver Mensaje
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 ----------

Citación del post de Lecterman Ver Mensaje
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!
Joseg is offline   Responder Con Cita
  #5
Antiguo 24 de octubre de 2015, 00:45
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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:

Código COBOL:
  1.  MOVE 100 TO MILISECONDS.
  2.  CALL "Sleep"        WITH STDCALL USING
  3.                                  BY VALUE MILISECONDS.

Saludos,
Rui Pinto
Rapinto is offline   Responder Con Cita
  #6
Antiguo 26 de octubre de 2015, 09:22
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

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...



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #7
Antiguo 13 de noviembre de 2015, 11:02
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Rapinto Ver Mensaje
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:

Código COBOL:
  1.  MOVE 100 TO MILISECONDS.
  2.  CALL "Sleep"        WITH STDCALL USING
  3.                                  BY VALUE MILISECONDS.

Saludos,
Rui Pinto

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

Cumprimentos,
JoseManuel
Joseg is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:57.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.