Ver la Versión Completa : [Sintaxis] Pasar parametros por linea de Comandos
Joseg
8 de mayo de 2015, 15:40
Hola
Queria que um determinado EXE chamase um programa em Powercobol desta forma:
c:\myprogPWC.exe var1="AAAAA" var2="BBBBBB"
Como fazer isto de forma a conseguir ler o conteudo de "var1" e "var2" ?
Gracias por qualquer ajuda
Jose Gomes
Kuk
8 de mayo de 2015, 16:00
Joseg, en el vento "Opened" metes esto:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-CMD PIC X(260).
PROCEDURE DIVISION.
MOVE "CommandLine" OF POW-SELF TO WS-CMD
Luego analizas el contenido de WS-CMD ;)
Joseg
8 de mayo de 2015, 17:39
Gracias :)
Vou analisar.
Jose Gomes
Rapinto
8 de mayo de 2015, 17:44
JoseG
Se utilizar NETCOBOL deverá utilizar o seguinte código:
@OPTIONS NOALPHA
************************************************** ***************
* Copyright (c) 2014 RPS Software.
* Created : Out 2014
* Last Modified: Out 2014
************************************************** ***************
IDENTIFICATION DIVISION.
PROGRAM-ID. RPSFTSPROLIDER.
AUTHOR. Rui Pinto.
*-----------------------------------------------------------------
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-NUMBER IS ARGNUMBER
ARGUMENT-VALUE IS ARGVALUE.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
*-----------------------------------------------------------------
DATA DIVISION.
FILE SECTION.
*-----------------------------------------------------------------
WORKING-STORAGE SECTION.
01 DLLNAME PIC X(260) VALUE "RPSFtsProlider.dll".
01 FORMNAME PIC X(14) VALUE "FrmFtsProlider".
01 CODEMP GLOBAL EXTERNAL PIC X(005).
01 ACCPATHFICH GLOBAL EXTERNAL PIC X(128).
01 ACCPATHFICHEMP GLOBAL EXTERNAL PIC X(128).
*
01 MsgTITLE PIC X(32) VALUE "R.P.S. - Faturação ".
01 MsgBody PIC X(300).
01 RETCODE PIC S9(9) COMP-5 VALUE ZERO.
*
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-00.
INITIALIZE CODEMP ACCPATHFICH ACCPATHFICHEMP.
DISPLAY 1 UPON ARGNUMBER.
ACCEPT CODEMP FROM ARGVALUE.
DISPLAY 2 UPON ARGNUMBER.
ACCEPT ACCPATHFICH FROM ARGVALUE.
DISPLAY 3 UPON ARGNUMBER.
ACCEPT ACCPATHFICHEMP FROM ARGVALUE.
IF CODEMP = SPACE
IF ACCPATHFICH = SPACE
IF ACCPATHFICHEMP = SPACE
MOVE "ERRO: Utilize : Prog.exe Cod_Empresa Path_Ficheiros_Base Path_Ficheiros_Empresa."
TO MsgBody
GO TO MAIN-80.
***********
*********** restante codigo aqui
***********
MAIN-80.
MOVE LOW-VALUE TO MsgTITLE(32:1)
MOVE LOW-VALUE TO MsgBody(128:1)
CALL "MessageBoxA" *> Message box system function
WITH STDCALL *> STDCALL call
USING
BY VALUE 0 *> Handle (The value is made "0")
BY REFERENCE MsgBody *> Message text
BY REFERENCE MsgTITLE *> Message box title
BY VALUE 32 *> Type of message box (0-5)
RETURNING RETCODE. *> Return value
GO TO MAIN-95.
MAIN-90.
************ aqui pode chamar uma DLL do PowerCobol e respetiva FORM
*
CALL "POWEROPENSHEET" USING DLLNAME FORMNAME.
*
MAIN-99.
END PROGRAM RPSFTSPROLIDER.
Cria um EXE muito pequeno e pode chamar em seguida as FORMS do PowerCobol.
Um abraço,
Rui Pinto
Joseg
9 de mayo de 2015, 12:02
Obrigado :)
É isto mesmo !!!
Abraço.
Recato53
19 de abril de 2016, 12:56
Desde una dll, consigo pasar una variable a un programa Exe.
Ahora lo que necesito es que desde el programa Exe, devuelva otra variable y la pueda consultar desde la dll.
Un saludo.
Rapinto
19 de abril de 2016, 22:07
Recato53,
Porque não usas uma variável "global external" no EXE e na DLL?
Penso que te resolve o problema.
Un saludo,
Rui Pinto
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.