FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Volver a ejecutar un proceso cada cierto tiempo
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 04:29 PM
Hola amigos

Necesito hacer un programa que recuerde al usuario cada cierto tiempo sus tareas pendientes
he hecho lo siguiente pero no lo vuelve a ejecutar.
Code (fw): Select all Collapse
#Include "FiveWin.ch"

Function Main()
   Private oWnd,oTimer
   
     DEFINE WINDOW oWnd FROM 0,1 to 0,1 STYLE WS_POPUP
     
     DEFINE TIMER oTimer INTERVAL 2000 ACTION Muestra()
     
   ACTIVATE WINDOW oWnd ON INIT (oTimer:Activate(),Muestra())
   
Return Nil   
*
Function Muestra()
   
      cMensaje:="Tiene un Trabajo pendiente"+CRLF
            
      IF MsgNoYes("INFORMATICA"+CRLF+cMensaje+CRLF+"Desea que le recuerde en 15'?" +CRLF, "Recordar " )
          oTimer:DeActivate()
            oTimer:Activate()
     Else 
         oWnd:End()
    Endi
              
Return Nil

Gracias por sus sugerencia y ayuda

Saludos

Adhemar
Saludos,



Adhemar C.
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 04:36 PM

Bueno amigo...
Luego de ejecutar la funci贸n muestra debes volver el Timer a 0 y que arranque nuevamente.
Saludos,

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 07:05 PM

Gracias distinguido

Como coloco el timer en 0, 贸 C贸mo tendr铆a que hacerlo?

He intentado de todas formas y logro hacer que vuelva a ejecutar.

Necesito m谩s ayuda

Saludos

Adhemar

Saludos,



Adhemar C.
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 07:22 PM

Hola,
Prueba con oTimer:nInterval := 0

Salu2

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 07:44 PM

Distinguidos

No funciona, ni siquiera ingresa a la Function Muestra(), la coloco en el ON INIT y ejecuta pero no vuelve a ejecutarla ni colocando oTimer:nInterval:=0

Lo que necesito es hacer algo como lo que tiene el Outlook cuando se envia un correo con Aviso de seguimiento.

Mas ayuda porfa

Saludos

Adhemar

Saludos,



Adhemar C.
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 07:55 PM

ACTIVATE WINDOW oVentPrinc MAXIMIZED ON INIT (ParametrosIniciales(),MiTimerOn(oVentPrinc)) ;
VALID MsgNoYes("Esta seguro de querer Salir...","Salir del Sistema")
oTimer:end()

static function MiTimerOn(oVentPrinc)
Local oDlg
DEFINE TIMER oTimer of oDlg INTERVAL 5000 ACTION TimerAction()
ACTIVATE timer oTimer
return(nil)

static function TimerAction()
MsgAlert( "Poner funcion de aviso","Atencion" )

return(nil)

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 08:42 PM

Gracias a todos

Distinguido jbrita. Funciona.

C贸mo hacer para que no aparezca la ejecucion en la barra de herramientas, algo asi como un trayicon

Saludos

Adhemar

Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: Volver a ejecutar un proceso cada cierto tiempo

Posted: Tue May 19, 2009 09:00 PM
Amigos, descubri como no mostrar el programa en ejecuci贸n es con oWnd:Hide()

Les mando el codigo fuente quizas alguien lo necesite
Code (fw): Select all Collapse
#Include "FiveWin.ch"

FUNCTION Main()
  Private oWnd,oTimer,lSalir:=.F.,xBdr:=0
  
  DEFINE WINDOW oWnd FROM 0,1 TO 0,1 STYLE WS_POPUP
  
  ACTIVATE WINDOW oWnd ON INIT (Muestra(),TimerOn(oWnd),oWnd:Hide()) VALID lSalir

  oTimer:end()
Return Nil

Static Function TimerOn(oWnd)
  DEFINE TIMER oTimer INTERVAL 10000 ACTION Muestra()
  
  ACTIVATE TIMER oTimer
  xBdr:=1
Return(nil)

Static Function Muestra()
       If xBdr=1
         oTimer:DeActivate()
       Endi
       cMensaje:="Tiene un Trabajo pendientes"+CRLF
       IF MsgNoYes("INFORMATICA"+CRLF+cMensaje+CRLF+"Desea que le recuerde en 15'?" +CRLF, "Recordar " )
              lSalir:=.F.
              If xBdr=1
            oTimer:Activate()
          Endi
          Else 
            lSalir:=.T.
          oWnd:End()
          Endi

Return(nil)

Saludos y gracias por su colaboraci贸n

Adhemar
Saludos,



Adhemar C.

Continue the discussion