Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ejemplos de ShellExecute y winexec ejecutando aplicaciones con parametros (https://www.clubdelphi.com/foros/showthread.php?t=43223)

JGCG 05-05-2007 00:19:17

ejemplos de ShellExecute y winexec ejecutando aplicaciones con parametros
 
:confused:

Que tal a todos, hay ocaciones en las que requiero ejecutar una aplicacion mandandole parámetros desde delphi, pero no me funciona lo he intentado hacer con ShellExecute y winexec, si me funciona cuando solo tengo que ejecutar la aplicación sin enviarle parámetros. Alguien me puede mandar ejemplos se lo agradecería mucho. Saludos.

seoane 05-05-2007 00:23:29

:confused: ¿Como lo estas intentando? Pon un ejemplo

JGCG 05-05-2007 00:31:39

así:
la instrucción en el dos es:

C:\otter <socrates.in> sali.out

otter es la aplicación y el resto los parametros que son los nombres de dos archivos uno de entrada y otro de salida, lo he intentado así:

ShellExecute(Form1.Handle, nil, 'c:\otter', '<socrates.in>sali.out', 'c:\', SW_SHOWNORMAL);

y

winexec('C:\otter <socrates.in> sali.out',1);

seoane 05-05-2007 00:53:26

Vamos por partes, tu no le estas pasando parámetros al programa, lo que estas indicando con < y > al interprete de comando es que redirija la entrada y la salida del ejecutable a unos ficheros. Dado que < y > son comando propios del interprete de comandos y no del ejecutable, es el interprete de comando el que debe procesarlos.

Tienes 2 soluciones redireccionar la entrada y la salida tu mismo, o ejecutar el programa a través del interprete de comandos. La primera opción es bastante compleja, la segunda sin embargo es bastante sencilla:
Código Delphi [-]
ShellExecute(Form1.Handle, nil, 'cmd.exe', '/c otter < socrates.in >sali.out', 'c:\', SW_SHOWNORMAL);

Aunque como ya te recomendé en otro hilo, tambien puedes usar el truco 54

JGCG 05-05-2007 10:53:49

Gracias
 
Muchisimas Gracias Seoane, si me funciono a la perfeción tu solución. :)


La franja horaria es GMT +2. Ahora son las 19:19:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi