Pascal/Turbo Pascal - COMO EJECUTAR UN ARCHIVO EXE Y COMO COMPROBAR QUE.

 
Vista:

COMO EJECUTAR UN ARCHIVO EXE Y COMO COMPROBAR QUE.

Publicado por Sergio Jimenes S (1 intervención) el 14/01/2003 03:07:43
Hola a to2 necesito crear un archivo que me investigue si existe un fichero, en caso de existir que lo ejecute (corra) y que termine mi programa, conozco la ruta donde deve estar el archvo, pero como lo ejecuto????

creo que es con el comando "EXEC" pero por mas que he investigado no encuentro como usarlo.

espero me puedan ayudar.... atte: SJS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMO EJECUTAR UN ARCHIVO EXE Y COMO COMPROBAR Q

Publicado por Roberto Garcia (128 intervenciones) el 14/01/2003 06:34:04
No te culpo, el procedimiento exec me produjo muchos dolores de cabeza.

Bueno, Exec como supones permite ejecutar un programa pasando parametros al mismo si es que los requiere

Exec(programa,'parametros');

por ejemplo

a) exec(letras.exe,'' );
b) exec(c:\letras.exe,'' );
c) exec(c:\letras.exe,'rojas');

a) ejecuta letras.exe que se supone que esta en el mismo directorio desde donde ejecutas el programa que hace la llamada. sin pasar ningun parametro.

b) ejecuta letras.exe que esta ubicado en c:\, sin ningun parametro

c) ejecuta letras.exe que esta en c:\ y le pasa como parametro 'rojas'

antes y despues de usar exec tienes que llamar al procedimiento swapvectors (la verdad no sabria expicarte a ciencia cierta por que), de tal forma que la llamada quedaria

swapvectors
exec(letras.exe,'');
swapvectors

Espero te sirva.

P.d. Usar exec para llamar a los comandos internos del DOS (command.com) es un rollote , si lo requieres escribeme y te explico que onda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO EJECUTAR UN ARCHIVO EXE Y COMO COMPROBAR Q

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 14/01/2003 17:46:06
Para saber si existe un archivo lo que yo he hecho es:

Var
F:file;
nom:string;
begin
...
...
...
write('Teclea el nombre del archivo');
readln(nom);
assign(f,nom);
{$I-}
reset(f);
close(f);
{$I+}
if IOResult=0 then
write('Esxiste el archivo')
else
write('No existe el archivo');
...
...
...
end.

Espero que te sirva. Suerte : )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO EJECUTAR UN ARCHIVO EXE Y COMO COMPROBAR Q

Publicado por Diego Romero (786 intervenciones) el 14/01/2003 18:41:51
El procedimiento SwapVectors lo que hace es crear una copia de respaldo del vector de interrupciones del sistema y la segunda llamada lo restaura desde la copia, esto es así porque cuando un programa de DOS es llamado por otro este siempre supone que es el unico programa en ejecución y tiene todo el sistema a su disposición, cuando termina el programa llamado el programa llamador no puede asegurar que el sistema está tal cual como antes de la llamada, es casi seguro que algo ha cambiado (por el programa llamado), esto trae problemas al programa llamador y supongo que lo habeis experimentado vosotros mismos cuando se les "cuelga" el programa o todo el sistema. Swapvectors asegura un minimo de estabilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Tambien sirve para ejecutar archivos de 32bits?

Publicado por Francisco Rios (1 intervención) el 14/01/2003 22:25:14
Hola leyendo estas respuestas yo tambien estoy usando pascal y tengo o al menos se supone que tengo bien mi codigo fuente que es el mismo que esta en la ayuda de pascal, pero a la hora de correrlo me manda un mensaje con el error del dos #2 o sino el error #5 o el #8 a que se deve, lo uso para ejecutar la calculadora de windos pero hasta ahora no he conseguido que corra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Tambien sirve para ejecutar archivos de 32bits

Publicado por Diego Romero (786 intervenciones) el 15/01/2003 01:46:07
El TP 7.0 fue creado para el DOS, no para Windows, el procedimiento Exec() espera a que termine el otro programa antes de continuar, en Windows, como es multitarea Exec se confunde.
Prueba lo siguiente
Exec('COMMAND.COM','START C:\Windows\CALC.EXE');
El command.com debería estar en el PATH, el comando START solo funciona bajo Windows y soluciona los problemas de ejecución asincronica desde DOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar