FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour OT: ShellExecute equivalente en Harbour
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 02:30 PM

Hola amigos,
estoy necesitando utilizar en un programa solo Harbour, la función ShellExecute o algo que pueda lanzar una aplicación externa
y no sé cual es la función de Harbour que puede realizar esta operación.
Hago hincapié en solo Harbour, no puedo utilizar en este caso el FW.
Si alguien me puede tirar una mano se lo agradecería!!!
Desde ya, muchas gracias!
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 02:42 PM
Code (fw): Select all Collapse
Function MYRUN( cComando )

   Local oShell, RET, lOk:=.T.

   TRY
      #IFDEF __XHARBOUR__
         oShell := CreateObject( "WScript.Shell" )
      #ELSE
         oShell := Win_OleCreateObject( "WScript.Shell" )
      #ENDIF

   CATCH

      TRY
         #IFDEF __XHARBOUR__
            oShell := CreateObject( "WScript.Shell" )
         #ELSE
            oShell := Win_OleCreateObject( "WScript.Shell" )
         #ENDIF

      CATCH

         lOk:=.F.

        END
   END

   IF lOk

      TRY

          //.F. = Nao espera a aplicacao fechar, .T. espera.
          oShell:Run( "%comspec% /c " + cComando, 0, .T. ) 

      CATCH

          lOk:=.F.

      END

      oShell := NIL

   ENDIF

   //--   RET := oShell:Run( "%comspec% /c " + cComando, 0)  //, .T. )

RETURN lOk


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 02:46 PM

Gracias Joao!
Una consultita más, y si ese programa externo, va con parámetros? Mando todo junto en el mismo cComando?
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 02:51 PM
Ejemplo, en modo consola:

Code (fw): Select all Collapse
   // RUN C:\INST_NFE\GERAPNFE &WNF_I_F

   // usando MYRUN()
   cMyRun := ( "C:\INST_NFE\GERAPNFE.EXE &WNF_I_F" )

   MYRUN( cMyRun )


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 06:33 PM

Joao:
Me da errores al compilar:

d:\oficina\fuentes\CABEZA.PRG(2142) Error E0020 Incomplete statement or unbalaced delimiters
d:\oficina\fuentes\CABEZA.PRG(2144) Error E0020 Incomplete statement or unbalaced delimiters
d:\oficina\fuentes\CABEZA.PRG(2148) Error E0010 ENDIF does not match IF

Puede que me esté faltando algún include?
Gracias!

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: OT: ShellExecute equivalente en Harbour
Posted: Thu Aug 20, 2015 06:36 PM

Faltaba hbcompat.ch.
Listo!
Muchas gracias!!!!

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar

Continue the discussion