Consulta ejecutar procesos cada cierto tiempo en segundos

459 views
Skip to first unread message

Marcelo Barberis

unread,
Nov 25, 2021, 2:21:14 AM11/25/21
to publicesvfoxpro
Hola buenas noches, estoy con un tema donde debo ejecutar procesos cada cierto tiempo en segundos. Por ejemplo tengo el proceso 1 y deseo ejecutar el proceso 2 a los 10 segundos, el proceso 3 que se ejecute a los 30 segundos, despues de los 10 segundos y asi para el proceso 4 que se ejecute a los 10 segundos despues de los 30 segundos.
Yo lo estuve haciendo con el control TIMER colocando en intervalo por ejemplo 10000 y asi en otro 30000 y en otro 10000. Al hacer correr estos procesos para verificar el tiempo, mi impresion que demora mas de 10 segundos y asi mas 30 segundos, el uso del control timer puede depender de la velocidad del pc porque yo noto que la demora es de mas de 10 segundos.

Hay algun proceso en segundos que pueda ser mas preciso en el tiempo..???

--
Marcelo Barberis Gutierrez
Sistemas Informaticos
Villa Montes - Bolivia
Telef.: +591-76830544

Juan Manuel Borruel

unread,
Nov 25, 2021, 6:14:27 AM11/25/21
to Comunidad de Visual Foxpro en Español
El timer funciona bien. El problema es que Foxpro trabaja de forma síncrona, asi que solo puede ejecutar un hilo de código a la vez.

✅ 𝓒𝓪𝓻𝓵𝓸𝓼 𝓞𝓶𝓪𝓻 𝓕𝓲𝓰𝓾𝓮𝓻𝓸𝓪

unread,
Nov 25, 2021, 11:39:59 AM11/25/21
to publice...@googlegroups.com

Lanza tus procesos desde un timer con las siguientes consideraciones:

 

-          No corras el proceso desde el propio timer, lánzalo desde otra instancia.

-          No bases el tiempo en el contador del propio timer, compáralo con la hora del Pc desde el timer.

 

De esa forma tendrás un disparo de los procesos más preciso y constante.

 

Suerte

 

 

 

______________________________________________

Ing. Carlos Omar Figueroa López

Staff de Desarrollos EfiMax

Coach Ontológico, Emprendimiento, Dialéctico, Lenguaje corporal y Emprendedor desde 1995.

 

Descripción: InsigniaEfiMax

Descripción: Desde 1995 150px

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAMUm0dnW74kAgJyP8qOp9g%3DwcVWrJfu6im44e0oKFsf4GAjHYQ%40mail.gmail.com.

image001.gif
image002.png

Víctor Hugo Espínola Domínguez

unread,
Nov 25, 2021, 2:49:41 PM11/25/21
to publice...@googlegroups.com
Function Espera(tnSegundos As Number)

lnSegIni = Seconds()

Do while Seconds() - lnSegIni <= tnSegundos
EndDo

Return

Saludos,
Víctor.
Lambaré - Paraguay.



Fabio Ramirez

unread,
Nov 25, 2021, 3:20:07 PM11/25/21
to Comunidad de Visual Foxpro en Español
Hola Utiliza programacion Old School

DO WHILE !chrsaw()
   @10,10 say  TIME() font "Courier New",40 Style "B"
   READ timeout 1   && se ejecuta cada segundo.
ENDDO 


DO WHILE !chrsaw()
   @10,10 say  TIME() font "Courier New",40 Style "B"
   READ timeout 10  && se ejecuta cada 10 segundos
ENDDO 

* Es extremadamente preciso.
* No consume CPU y muy poca memoria
* Puedes hacer .exe con parametros y que te corran en segundo plano , simulando paralelismo.

Luis Maria Guayan

unread,
Nov 26, 2021, 9:23:40 AM11/26/21
to Comunidad de Visual Foxpro en Español
Buen día, creo que los controles Timers no son lo optimo para lo que tu necesitas, ya que cada control por separado continuará con su cuenta de tiempo y ejecución independientemente el uno del otro.

Si lo que tu desear es una "espera" de "n" segundos entre un alista de procesos secuenciales, lo mejor es usar la funcion de la API Sleep:

-- Función de espera de la API similar a INKEY() sin interfase --
https://comunidadvfp.blogspot.com/2000/03/funcion-de-espera-de-la-api-similar.html

Ej. de espera de 10 segundos
*--  Final proceso 1
_Sleep(10000)  && en milisegundos
*-- Inicio proceso 2
...


Luis María Guayán
Tucumán, Argentina
_______________________________

Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com
Reply all
Reply to author
Forward
0 new messages