Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Pasar parametro en "ExecuteSync" (https://www.cobolforo.es/showthread.php?t=192)

Roger 24 de julio de 2015 00:27

Pasar parametro en "ExecuteSync"
 
Amigos
tengo un exec que para activar requiere un parametro ¿Cual es la sintaxis que
debo utilizar?

Código COBOL:
  1.  INVOKE POW-SELF "executesync" USING "D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE".

¿donde pongo el parametro?

Hrmcobol 24 de julio de 2015 01:39

Hola Roger, no uso parámetros, pero me me imagino que sera a continuación del .exe: ".....\Buscar_DNI.EXE parámetro"

Kuk 24 de julio de 2015 09:23

Roger, usa los prefijos al crear un tema, y llama los temas de manera que se entienda qué quieres preguntar.

En cuanto a tu pregunta en sí, yo tampoco lo he necesitado pero puedes probar también con:

Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "'D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE' parametro".

O con:

Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING '"D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE" parametro'.

Ya nos cuentas a ver cual funciona, si ninguno, buscaremos otra solución ;)

Rapinto 24 de julio de 2015 11:54

Roger,

Não seria mais facil criar um .BAT com o comando necessário e em seguida executar o INVOKE chamando o .BAT file?
Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "X:\abcd.bat"
Saludos,
Rui Pinto

Roger 25 de julio de 2015 02:27

Gracias Kuk y Rapinto

funciona de ambas formas
Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "'D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE' parametro".
  2.  
  3. INVOKE POW-SELF "ExecuteSync" USING "X:\abcd.bat"

Recato53 27 de diciembre de 2015 13:16

Cita:

Citación del post de Roger (Mensaje 839)
Gracias Kuk y Rapinto

funciona de ambas formas
Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "'D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE' parametro".
  2.  
  3. INVOKE POW-SELF "ExecuteSync" USING "X:\abcd.bat"

Como recojo el valor de "PARAMETRO" en el Programa.exe.

Un saludo.

---------- Post añadido : 13:16 ---------- Post anterior : 12:24 ----------

Cita:

Citación del post de Roger (Mensaje 839)
Gracias Kuk y Rapinto

funciona de ambas formas
Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "'D:\VET-SIS\BUSCAR_DNI\Buscar_DNI.EXE' parametro".
  2.  
  3. INVOKE POW-SELF "ExecuteSync" USING "X:\abcd.bat"

Estoy usando el código siguiente:
Código COBOL:
  1. INVOKE POW-SELF "ExecuteSync" USING "'PROGRAMA.EXE' PARAMETROS" POW-SWNORMAL.

Cuando recojo los datos en PROGRAMA.EXE, solo recoge el nombre de la variable= PARAMETROS y no los valores que contiene.

Como defino las variables para poder pasar valores de un programa PowerCobol a un programa.exe.

Un saludo.

Kuk 27 de diciembre de 2015 19:44

Recato53, si PARAMETROS es un campo, haz STRING antes:

Código COBOL:
  1.  STRING  "'PROGRAMA.EXE' " PARAMETROS DELIMITED BY SIZE INTO WS-CMD
  2.  
  3.  INVOKE POW-SELF "ExecuteSync" USING WS-CMD POW-SWNORMAL.

Rapinto 27 de diciembre de 2015 22:46

Recato53,

Num programa em PowerCobol podes usar:
Código COBOL:
  1.  01  WSCOMMLINE            PIC X(256).
  2. **************
  3. MOVE "CommandLine" OF FrmMain        TO WSCOMMLINE.
  4.     IF WSCOMMLINE NOT = SPACE  ....

Em NETCOBOL :
Código COBOL:
  1.  ENVIRONMENT DIVISION.
  2.  CONFIGURATION SECTION.
  3.  SPECIAL-NAMES.
  4.       ARGUMENT-NUMBER IS ARGNUMBER
  5.       ARGUMENT-VALUE  IS ARGVALUE.
  6. ******
  7. PROCEDURE DIVISION.
  8.      DISPLAY 1 UPON ARGNUMBER.
  9.      ACCEPT CODEMP      FROM ARGVALUE.
  10.      DISPLAY 2 UPON ARGNUMBER.
  11.      ACCEPT ACCPATHFICH FROM ARGVALUE.
  12.      DISPLAY 3 UPON ARGNUMBER.
  13.      ACCEPT CLOSESESSION FROM ARGVALUE.

Não testei, mas acho que isto também funciona em PowerCobol.

Não sei se era isto que pretendias.

Un Saludo,
Rui Pinto


La franja horaria es GMT +2. Ahora son las 04:44.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.