FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Directorio actual
Necesito saber el directorio donde esta mi aplicacion delphi (.exe), por ejemplo, si el ejecutable esta en "c:\aplicacion" quisiera obtener este camino.
gracias
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
|||
|
|||
ExtractFilePath(Application.ExeName)
|
#3
|
||||
|
||||
ExtractDir(Application.FileName);
Por alli va el asunto no tengo delphi a mano para decirte bien, pero si no me equivoco es asi
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#4
|
||||
|
||||
Pues respondimos al mismo tiempo
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#5
|
||||
|
||||
Solo quiero aclarar, debido al título del hilo, que el directorio del ejecutable de tu aplicación, no necesariamente va a ser el "directorio actual", que en principio sería el que se coloque en el campo "iniciar en" de un acceso directo. Claro que si no se indica... serán el mismo, pero cabe la posibilidad que sean diferentes.
Cual de los dos es el que te interesa?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
Otra froma de obtener el directorio del ejecutable:
ParamStr(0); (de los viejos tiempos del DOS) // Saludos ¡Ah! Muy buena observación de jachguate. Si lo que buscas es el directorio actual, tal como indica el título del mensaje, puedes usar la función GetDir. |
#7
|
||||
|
||||
Para completar lo dicho por roman, y para obtener solamente la ruta completa del ejecutable, al viejo estilo de DOS, y aprovechando las mejoras de Delphi...
ExtractFilePath(ExpandFileName(ParamStr(0))); Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
||||
|
||||
Esteeee, sip, tienes razón, se me olvidaba quitar el nombre del archivo. Pero ¿es necesario el ExpandFileName en este caso? Me parece que ParamStr siempre da la ruta expandida.
// Saludos |
#9
|
||||
|
||||
Pues la verdad.. no se si es una mala maña, quizas producto de una experiencia del pasado, que simplemente se convirtió en costumbre... ahora no tengo delphi a mano para probarlo... pero si santiago14 o vos roman pueden sacarnos de la duda... sería excelente.
Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#10
|
||||
|
||||
Bueno, pues la ayuda de Delphi sólo indica:
Cita:
// Saludos |
#11
|
||||
|
||||
ParmStr(0):C:\ARCHIVOS DE PROGRAMA\BORLAND\DELPHI5\BIN\PROJECT1.EXE
ExtractFilePath(ExpandFileName(ParamStr(0))):; C:\ARCHIVOS DE PROGRAMA\BORLAND\DELPHI5\BIN\ Creo que si lo que se pide es únicamente la ruta completa y no el nombre del ejecutable, hay que utilizar lo propuesto por JachGuate. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#12
|
||||
|
||||
Cita:
// Saludos |
#13
|
|||
|
|||
Cita:
|
#14
|
||||
|
||||
He realizado pruebas en delphi4 y delphi7, y en los casos probados, el ExpandFileName no es necesario.
Los casos probados son:
Hay algun caso que se me haya escapado?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#15
|
||||
|
||||
¿ En que S.O. lo has probado, seria interesante probarlo en un Windows 95/98 ?
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#16
|
||||
|
||||
Con Windows 98 funciona correctamente lo siguiente:
Código:
ShowMessage(ExtractFilePath(ParamStr(0))); C:\ARCHIVOS DE PROGRAMA\BORLAND\DELPHI5\BIN\ Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#17
|
||||
|
||||
De hecho sería un poco raro que se necesitara ExpandFileName. Al menos no estaría claro en qué casos ParamStr(0) da la ruta ya expandida y en qué casos no.
// Saludos |
#18
|
||||
|
||||
Yo lo he probado únicamente con windows Me.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#19
|
||||
|
||||
Directorio actual
Para sintetizar, agradezco a todos sus respuestas. Confirmo que con extractPathFile es suficiente y utilizando application.exeName obtengo el nombre del ejecutable, por lo cual evito lo de expandFileName y ParamStr.
Otra vez se los agradezco y he quedado mas que satisfecho con sus respuestas, ah, con respecto a una de las citas que pedia probar en varios sistemas operativos, yo tengo windows 2000, professional y delphi6 enterprise y funcionan perfectamente todas las instrucciones citadas a lo largo de este hilo.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
|
|
|