![]() |
Cambiar de directorio
Hola a todos.
Necesito cambiar de directorio en base a donde está mi exe. Código Delphi [-]//...MiPrograma\bin\archivo.exe //Esto lo obtengo con ExtractFilePath(Application.ExeName); Como hago por medio de código cambiar al directorio ...MiPrograma\data\... Estuve buscando en le foro pero no pude encontrar la solución. Si ya existe un hilo con la solución por favor que me avice. Gracias a todos. |
|
Gracias Casimiro por la pronta respueta.
Pero mi problema es que no se donde va a estar mi aplicación. Por eso necesito en base a la ruta del .exe subir una carpeta y luego entrar en la carpeta\data. Espero ser claro. Gracias nuevamente. |
Pues entonces no entiendo :confused:
|
Bueno, vamos desde cero.
Tengo una aplicación X. La estructura de las carpetas es la siguiente. ...\X -> Directorio principal ...\X\bin -> Directorio con el .exe los .ini y .dll ...\X\data -> Directorio con el .fbd y un archivo .txt para el log Yo no se donde va a estar la carpeta X, ya que la idea es que sea portable y que se copie y pegue en cualquier lado y salga andando. Puede estar en C:\X o en C:\Documents and Settings\cañones\Escritorio. Entonces con la función extractpath puedo saber la ruta completa del .exe. Como puedo cambiar de directorio laRuta\X\bin a laRuta\X\data. Mi idea era usar alguna función de delphi, pero si no existe creo mi propio procedimiento. Muchas gracias. Saludos. |
Hola
El ejemplo que mostro Casimiro dara la direccion de X/Data. Asi se puede saber la direccion correcta y ampliar la misma a la carpeta Data. El dato es string, se puede usar de cualquier forma Saludos |
Hola
Es lo mismo que se puede hacer con ExtractFilePath Como son datos string se pueden manejar a nuestro antojo:
Y asi sucesivamente. Saludos |
Caral, probé los dos ejemplos que me has dejado pero no hace lo que necesito.
El tema es que data está en el mismo nivel que bin, no dentro de bin\data. Gracias de igual modo. Me voy a poner a trabajar en un procedimiento que haga lo que necesito. Cuando lo tenga lo coloco en el hilo. Gracias a todos. |
Pues... no te explicas qué problema tienes... o no te entendemos :confused:
devuelve la ruta a tu programa, por ejemplo: Código:
miruta := extractfilepath(paramstr(0));Código:
larutadata := miruta + '\data\';Código:
chdir( larutadata ); |
Hola, lo que yo entiendo es que quiere acceder a un nivel anterior al directorio donde esta su ejecutable, si es eso puedes hacerlo de esta forma:
Saluditos |
Si quiere ir a un directorio arriba sólo hay que añadirle los dos puntos
Ejemplo: (a lo bruto :)) Código:
miruta := extractfilepath(paramstr(0)); |
Cita:
Saluditos |
Mil gracias Casimiro y Caro por el tiempo.
Eso es exactamente lo que necesitaba. Por lo visto era un problema al comunicarles mi duda, ya que lo solucionaron muy fácil y de una manera sencilla. Muchas gracias nuevamente. Saludos de Cañones. |
| La franja horaria es GMT +2. Ahora son las 05:36:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi