![]() |
ShellExecute para ejecutar comando que contiene '>'
Veamos esto...
Código:
ShellExecute(Handle, nil, PChar('G:\Mostrar_Num.bat > G:\Num.txt'), nil, nil, SW_SHOWNORMAL); Código:
@echo 8 Código:
G:\>Mostrar_Num.bat > Num.txt La pregunta entonces sería la siguiente: ¿De qué otra manera se puede ejecutar esa línea desde Delphi de tal manera que funcione? |
La respuesta corta:
Usa el truco 54. Este permite ejecutar la linea de comandos tal cual tu la tienes, o incluso, permite capturar directamente la salida del programa sin tener que utilizar un archivo de texto. La respuesta larga: Tu codigo no funciona porque en la funcion Shellexecute, el programa a ejecutar y los parametros tienen que pasarse por separado. Es decir: Pero aun asi no funcionaria como tu esperas, ya que la redireccion ">" es un parametro manejado por el interprete de comandos. Asi que lo que debemos ejecutar es el interprete de comandos, y pasarle toda la linea como parametro. Algo Asi: Y aun asi, tendríamos que resolver el problema de que el interprete de comandos no se llama siempre igual en todos los windows, tendríamos que obtener su nombre de la variable de entorno COMSPEC. En fin, mejor usar el truco 54 :D |
Vaya, qué me estará pasando? La solución es lógica! je je :D.
No esperaría una respuesta mejor, ni más rápida. Gracias seoane. Voy a probar las dos soluciones, para dos aplicaciones diferentes. En realidad en una de ellas requiero del archivo de texto, pero en la otra quizás no, así que el truco 54 en este caso será una alternativa excelente. |
a mi no me va el shellexecute
hola!! estoy intentando llamar a un programa externo desde delphi 2006 con ShellExecute y no me lo reconoce (undeclarated identifier ShellExecute)
hay que agregar algo a mi proyecto para poder utilizarlo?? :confused: Muchas gracias!! |
Cita:
|
Muchas gracias :o
|
La franja horaria es GMT +2. Ahora son las 10:08:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi