Delphi - Pregunta..como ejecuto un archivo EXE?

 
Vista:

Pregunta..como ejecuto un archivo EXE?

Publicado por Bill Gates (33 intervenciones) el 06/11/2001 23:18:55
Hola!
Como ejecuto un archivo EXE cuya ruta completa la tengo en una variable STRING? por ejemplo

Var
strArchivo:String[30];
Begin
strArchivo := 'Porno.exe';
end.

Que instruccion uso? algo como...
Run(strArchivo); ??
WinExe(strArchivo); ???

Cual es en Delphi 5???

Gracias de antemano....

Bye.
W4e!
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:Pregunta..como ejecuto un archivo EXE?

Publicado por Ernesto D'Spirito (706 intervenciones) el 07/11/2001 03:39:04
Usa la API ShellExecute (no uses WinExec porque es obsoleta - 16 bits). Siguiendo el enlace de arriba encontrarás una descripción (en castellano) y ejemplos.

Ernesto
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

Ok,..pero con una variable tipo STRING?

Publicado por Bill Gates (33 intervenciones) el 07/11/2001 18:45:59
Hola!

Mira, el problema que tengo es que de un directorio tengo que
ejecutar el archivo EXE mas reciente

En delphi 5 hice un TFileListBox llamado Archivos. Con un ciclo determino cual es el mas reciente, este es parte del codigo

****Codigo inicia aqui **********

nTotalDeArchivosEXE := Archivos.Items.Count;
cArchivoAExecutar1 := Archivos.Directory +'\'+ Archivos.Items.Strings[0];
nFechaDeArchivo1 := FileAge(cArchivoAExecutar1);

for n := 1 to nTotalDeArchivosEXE-1 do
begin
cArchivoAExecutar2 := Archivos.Directory+'\'+Archivos.Items.Strings[n];
nFechaDeArchivo2 := FileAge(cArchivoAExecutar2);

//Comparar fechas para determinar el mas reciente
if nFechaDeArchivo2>nFechaDeArchivo1 then
begin
nFechaDeArchivo1 := nFechaDeArchivo2;
cArchivoAExecutar1:= Archivos.Directory+'\'+Archivos.Items.Strings[n];
end; //If
end; //for

********* codigo termina aqui ********

Con esto la variable cArchivoAExecutar1 (STRING) tiene la ruta y el nombre del archivo a ejecutar, pero si ejecuto ShellExecute utilizando esta variable me indica un error de tipos incompatibles STRING y PCHAR..

Alguna sugerencia? he buscado como convertir de STRING a PCHAR pero la ayuda de Delphi 5 no me ayuda.....(jeje, buen juego de palabras. deja lo apunto.....listo....je)

Gracias de antemano.

w4e!

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:Ok,..pero con una variable tipo STRING?

Publicado por Domingo Seoane (1 intervención) el 07/11/2001 20:00:29
Prueba a escribir la variable de esta manera PChar(cArchivoAExecutar1) asi le indicas que la trate como un PChar y no como un string.
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

Olvidenlo, ya lo solucioné.....

Publicado por Bill Gates (33 intervenciones) el 07/11/2001 21:04:17
Hola!
Gracias por su cooperacion, por cierto, tratar de usar PCHAR() con un string no funciona, aparece un error de 'typecasting'

Lo que hice es que siempre ejecuto un archivo, pero este es un archivo de procesamiento por lotes (BAT) y con Delphi 5 grabo en ese archivo el nombre del archivo EXE mas reciente. Santo remedio.

De nuevo gracias a todos.

Bye
w4e!
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