In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

saber carteta de un programa

Foro de Xailer profesional en español
Responder
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

saber carteta de un programa

Mensaje por PILO »

Como puedo buscar desde xailer un programa y
saber la carpeta donde la contiene.
por ejemplo winrar.exe
quiero buscarla y tomar la carpeta donde esta.
Gracias al que me pueda ayudar
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

saber carteta de un programa

Mensaje por jrcpoli-quitar »

Saludos:
Estaba buscando en Funciones de Ficheros y vi esta Función que no se si
es lo que buscas pero hay la dejo.
SearchPath( cPath, cFile, cExtension )
José Ramón Castro.
PILO escribió:
> Como puedo buscar desde xailer un programa y
> saber la carpeta donde la contiene.
> por ejemplo winrar.exe
> quiero buscarla y tomar la carpeta donde esta.
> Gracias al que me pueda ayudar
>
>
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

saber carteta de un programa

Mensaje por PILO »

Jose lo que quiero es buscar el archivo desde xailer
y sacar el patch de el.
Como lo puedo hacer desde xailer
Angel
Mensajes: 135
Registrado: Mié Mar 21, 2007 1:11 pm

saber carteta de un programa

Mensaje por Angel »

PILO escribió:
> Jose lo que quiero es buscar el archivo desde xailer
> y sacar el patch de el.
> Como lo puedo hacer desde xailer
>
>
No se si es lo que estas buscando exactamente, pero cuando quiero abrir
un archivo con cualquier tipo de aplicación, lo que hago es llamar a
ShellExecute() con sus respectivos parámetros, y Windows ya se encarga
de abrirlo con el programa adecuado.
Si quieres saber como funciona ShellExecute() puedes buscar en el foro
pues es un tema que ya se ha comentado.
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

saber carteta de un programa

Mensaje por PILO »

Angel un pequeño ejemplo de como se ejectua
utilizo esto y no funciona shellExecute("winrar")
"Ángel Fernández" <angel@agelso.com> escribió en el mensaje
news:[email=471341c6@ozsrv2.ozlan.local...]471341c6@ozsrv2.ozlan.local...[/email]
> PILO escribió:
>> Jose lo que quiero es buscar el archivo desde xailer
>> y sacar el patch de el.
>> Como lo puedo hacer desde xailer
>
> No se si es lo que estas buscando exactamente, pero cuando quiero abrir un
> archivo con cualquier tipo de aplicación, lo que hago es llamar a
> ShellExecute() con sus respectivos parámetros, y Windows ya se encarga de
> abrirlo con el programa adecuado.
>
> Si quieres saber como funciona ShellExecute() puedes buscar en el foro
> pues es un tema que ya se ha comentado.
Angel
Mensajes: 135
Registrado: Mié Mar 21, 2007 1:11 pm

saber carteta de un programa

Mensaje por Angel »

PILO escribió:
> Angel un pequeño ejemplo de como se ejectua
> utilizo esto y no funciona shellExecute("winrar")
Es preferible que utilices la función que abajo te muestro:
Execute(cFile, cDir, lWait) ---> Ejecuta un PROCESO externo.
Esta función recibe tres parametros:
cFile -> Nombre de archivo a ejecutar.
cDir -> Directorio de comienzo (por defecto, el de la ruta del ejecutable
lWait -> Si verdadero (.T.), no devuelve el control a la aplicación
hasta que termine el proceso.
Retorna:
<hProcess | nExitCode>
Handle al proceso cuando lWait es falso, y código de salida del proceso
en caso contrario
Módulo:
Util.c
Ver también:
ShellExecute, ShellExecuteEx, WinExec
Te pongo un ejemplo de lo que podrí­as hacer con esta función:
Execute("C:ArchivoComprimido.RAR","C:",.T.)
Esto lo que harí­a es:
1º Si Windows tiene asociados los archivos de tipo .RAR a algun programa
(como por ejemplo WinRar) llamarí­a a este y abrirí­a automáticamente el
archivo "ArchivoComprimido.RAR"
2º Si windows no conoce este tipo de archivos, no ejecutarí­a nada y
retornarí­a un error de apertura.
Básicamente esto harí­a lo mismo que si en el explorador de WIndows, te
situas encima de un archivo .RAR y haces doble click en el. (Suponiendo
que se llamara a la función en el ejemplo que te muestro arriba).
P.D. Esto no se puede hacer, ShellExecute("winrar") porque:
- Winrar a secas, no es un ejecutable. Winrar.exe si lo és.
- Si especificas únicamente 'winrar', supongo que lo buscará en los PATH
del sistema.
- Precisamente, lo bueno de esta función no es llamar al programa sino
directamente AL ARCHIVO QUE QUIERES EJECUTAR y así­ te ahorras problemas
de donde está la aplicacion X o la aplicacion Y, pues quizas el usuario
no utiliza WinRar y utiliza WinZip y ya tu aplicación, no funcionarí­a.
De hecho y para salir de problemas, si Execute devuelve error, puedes
mostrar sugerentemente algo como: "No dispone de la aplicación adecuada
para abrir los archivos de tipo .RAR" y te libras de problemas.
Espero que te aclares ;-)
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

saber carteta de un programa

Mensaje por PILO »

Gracias Angel lo probare.
"Ángel Fernández" <angel@agelso.com> escribió en el mensaje
news:[email=47136303@ozsrv2.ozlan.local...]47136303@ozsrv2.ozlan.local...[/email]
> PILO escribió:
>> Angel un pequeño ejemplo de como se ejectua
>> utilizo esto y no funciona shellExecute("winrar")
>
> Es preferible que utilices la función que abajo te muestro:
> Execute(cFile, cDir, lWait) ---> Ejecuta un PROCESO externo.
>
> Esta función recibe tres parametros:
> cFile -> Nombre de archivo a ejecutar.
> cDir -> Directorio de comienzo (por defecto, el de la ruta del ejecutable
> lWait -> Si verdadero (.T.), no devuelve el control a la aplicación
> hasta que termine el proceso.
>
> Retorna:
> <hProcess | nExitCode>
> Handle al proceso cuando lWait es falso, y código de salida del proceso
> en caso contrario
>
> Módulo:
> Util.c
>
> Ver también:
> ShellExecute, ShellExecuteEx, WinExec
>
> Te pongo un ejemplo de lo que podrías hacer con esta función:
> Execute("C:ArchivoComprimido.RAR","C:",.T.)
>
> Esto lo que haría es:
> 1º Si Windows tiene asociados los archivos de tipo .RAR a algun programa
> (como por ejemplo WinRar) llamaría a este y abriría automáticamente el
> archivo "ArchivoComprimido.RAR"
> 2º Si windows no conoce este tipo de archivos, no ejecutaría nada y
> retornaría un error de apertura.
>
> Básicamente esto haría lo mismo que si en el explorador de WIndows, te
> situas encima de un archivo .RAR y haces doble click en el. (Suponiendo
> que se llamara a la función en el ejemplo que te muestro arriba).
>
> P.D. Esto no se puede hacer, ShellExecute("winrar") porque:
> - Winrar a secas, no es un ejecutable. Winrar.exe si lo és.
> - Si especificas únicamente 'winrar', supongo que lo buscará en los PATH
> del sistema.
> - Precisamente, lo bueno de esta función no es llamar al programa sino
> directamente AL ARCHIVO QUE QUIERES EJECUTAR y así te ahorras problemas de
> donde está la aplicacion X o la aplicacion Y, pues quizas el usuario no
> utiliza WinRar y utiliza WinZip y ya tu aplicación, no funcionaría. De
> hecho y para salir de problemas, si Execute devuelve error, puedes mostrar
> sugerentemente algo como: "No dispone de la aplicación adecuada para abrir
> los archivos de tipo .RAR" y te libras de problemas.
>
> Espero que te aclares ;-)
Responder