¿Alguien sabe cómo llamar a un programa * CMD en un juego de rol gratuito usando un prototipo? En mi caso, el comando tiene 10 parámetros y quiero llamarlo con solo 4.

Llamarlo con el parámetro 10/10 funciona. Pero, ¿cómo lo hago con menos parámetros?

0
Radinator 19 feb. 2018 a las 15:54

2 respuestas

La mejor respuesta

Los comandos (* CMD) son ejecutados por el procesador del lenguaje de comandos, no llamados.

Suponiendo un comando escrito por el usuario, por lo tanto, tiene la fuente del programa enviada por el comando ... Recomiendo crear un prototipo y llamar al programa que procesa el comando directamente ...

DSPCMD le dirá cuál es ese programa ...

Si es un comando de IBM o de un tercero, deberá llamar al procesador del lenguaje de comandos y pasarle el comando que desea ejecutar.

IBM proporciona algunas API para el procesador de lenguaje de comandos.
Ejecutar comando (QCMDEXC)
Procesar comandos (QCAPCMD)

Además, puede utilizar la API C-runtime
system () - Ejecutar un comando

Aquí hay un buen artículo sobre el uso de la opción más poderosa (y compleja), QCAPCMD ... con enlaces a artículos sobre QCMDEXC y system ().
QCAPCMD otra alternativa a QCMDEXC

5
Charles 20 feb. 2018 a las 17:00

Declare esto en su D específico:

DCL-PR GoCmd INT(10) EXTPROC('system'); 
    CmdString POINTER VALUE OPTIONS(*STRING); 
END-PR;

Entonces puede llamar al comando AS400 ... ejemplo:

CmdString = 'CLRPFM FILE(WORKFILE)' ;
ReturnCode = Gocmd(CmdString) ;      
2
Nifriz 23 oct. 2018 a las 08:38