Page 1 of 1

EJECUTAR PROGRAMA EXTERNO

Posted: Fri Jun 21, 2013 5:04 pm
by ROBER68
Hola estoy en la necesidad de ejecutar un programa externo donde mando dos parámetros y me regresa un valor, pero no se como cachar ese dato que regresa

Ej. soapcliente usuario123 pass123

Eso si lo ejecuto en MS-DOS me regresa un string pero desde fwh no se como tomaría ese dato para manipularlo dentro de mi sistema

Re: EJECUTAR PROGRAMA EXTERNO

Posted: Fri Jun 21, 2013 6:04 pm
by cmsoft
Hola Robert
Podrías usar

Code: Select all

WaitRun("soapcliente usuario123 pass123")
Y que el programa grabe una variable de entorno, ejemplo SET respuesta=cadena que luego sea leida por rta := GETENV("respuesta")
Espero te sirva!

Re: EJECUTAR PROGRAMA EXTERNO

Posted: Fri Jun 21, 2013 7:44 pm
by karinha

Code: Select all

cComando := "h:\desenvolvimento\Externoc\Externo.exe d,1,1"

 

WinExec( cComando )
 

Re: EJECUTAR PROGRAMA EXTERNO

Posted: Tue Jun 25, 2013 4:50 pm
by diegopolverelli
Si el comando externo devuelve una cadena de caracteres, podrías tratar de almacenar esta salida en un archivo de texto, y luego levantar el contenido del mismo desde fivewin. Por ej: "c:\COMANDO.EXE > c:\archivo.txt" (eso deberias ejecutar con el winexec). Luego creas una dbf con un solo campo C1, de 200 caracteres, y haces un APPEND FROM c:\archivo.txt SDF
Así debería funcionar.

Re: EJECUTAR PROGRAMA EXTERNO

Posted: Wed Jun 26, 2013 8:53 pm
by RodolfoRBG
Yo lo hago asi:

WinExec("x:\PROC_EXT.EXE /ParametroAEnviar")
postquitmessage(0) ; sysrefresh() ; __quit()

y en el programa PROC_EXT.EXE

FUNCTION MAIN(Parametros)

donde Parametros seria igual al que se envio desde el otro (ParametroAEnviar)

y ya veras que haces con esos parametros, solo toma en cuenta que "ParametroAEnviar" no debe tener espacios en blanco

Espero te sirva

Re: EJECUTAR PROGRAMA EXTERNO

Posted: Thu Jun 27, 2013 9:59 pm
by quique
Puedes guardar el resultado de tu programa en un archivo de texto y leerlo con un simple memoread()