Clipper/FiveWin - Ejecutar proceso cada cierto tiempo

 
Vista:

Ejecutar proceso cada cierto tiempo

Publicado por Luis (18 intervenciones) el 20/10/2011 18:04:33
Estimados

Agradecere si alguie me puede orientar de como hacer que un programa realice una llamada a un proceso (definido dentro del mismo programa) cada cierto tiempo sin necesidad de intervencion manual y sin importar en que opcion del menu se encuentre el usuario.
Espero haber sido claro y estare a la espera de sus comentarios.

Saludos

Luis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar proceso cada cierto tiempo

Publicado por SuperIndio (64 intervenciones) el 20/10/2011 19:24:28
Uhhhhhhhhhh pero eso es recontrafacil man

me case de hacer demonions y automatas, mejor hacerlo en C


defino:
char Proceso[80]= "/lacky/home/produ/mishell.Sh";
int nRetVal = 0;
int iTimer = 5 /* cantidad de segundos, si queres lo podes pasar por parametros para variar cada cuanto ejecutara el proc*/

luego despues en el main:

while(1)
{

nRetVal = system( CmdSaldo );
sleep(iTimer); /* lo hago dormir 5 segundos */
}
return 0

asi de facil este es el mas facil
yo hice varios en los cuales se amatan por si solos
cuando detectan algun evento, archivo mensaje etc etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar proceso cada cierto tiempo (fe erratas)

Publicado por SuperIndio (64 intervenciones) el 20/10/2011 19:25:13
Uhhhhhhhhhh pero eso es recontrafacil man

me case de hacer demonions y automatas, mejor hacerlo en C


defino:
char Proceso[80]= "/lacky/home/produ/mishell.Sh";
int nRetVal = 0;
int iTimer = 5 /* cantidad de segundos, si queres lo podes pasar por parametros para variar cada cuanto ejecutara el proc*/

luego despues en el main:

while(1)
{

nRetVal = system( Proceso );
sleep(iTimer); /* lo hago dormir 5 segundos */
}
return 0

asi de facil este es el mas facil
yo hice varios en los cuales se amatan por si solos
cuando detectan algun evento, archivo mensaje etc etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar proceso cada cierto tiempo

Publicado por SuperIndio (64 intervenciones) el 20/10/2011 19:30:50
EN HARBOUR CLIPPER FLAGSHIP ALASKA FOXPRO DBASE CL3 CLPS LXBASE ETC ETC

DO WHILE iSalir

Shellexecute (Proceso) //
Run (Proceso) //
! (Proceso)

Inkey(300) // 5 minutos

ENDDO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar proceso cada cierto tiempo

Publicado por Luis (18 intervenciones) el 20/10/2011 21:57:41
SuperIndio

Gracias por responder, pero no manejo C, como enlazo el codigo que mencionas con Clipper?

Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar proceso cada cierto tiempo

Publicado por Superindio (64 intervenciones) el 21/10/2011 16:21:02
A ver
Si vos queres hacer un programa clipper o harbour que se ejecute y que cada
cierto tiempo ejecute otro programa y lo unico que haga es eso? Es simple


// nTimer ==> Minutos

Function Main( nTimer )


LOCAL iTimer := 0
LOCAL cProceso := "c:\apps\opendicc\UpdateSwift.exe"

IF EMPTY( nTimer ) .OR. nTimer == '0'
iTimer := 0
ELSE
iTimer := val( nTimer )
ENDIF
IF iTimer < 5
iTimer := 5
IF iTimer > 15
iTimer := 15

Do While .t.

Run( cProceso )
Inkey(iTimer*60)

EndDo
// para matarlo tendras que ir al Administrador de tareas
Return Nil


¡¡¡¡¡¡OJO!!!!! Esto es solo si el program,a realizar esto y solo esto
porque si queres meterlo dentro de un programa tipo Punto de venta en el cual haces otras cosas
no podes porque para eso necesitas Ejecutar en paralelo, y eso en clipper o harbour
no podes hacerlo porque no soporta multiproceso (Threads, Pipes, forks etc etc)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar