Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Establecer rutas relativas a archivos (https://www.clubdelphi.com/foros/showthread.php?t=11949)

tica 30-06-2004 17:44:20

Establecer rutas relativas a archivos
 
Hola,

En un componente hago referencia a un archivo especificando una ruta absoluta por ejemplo D:\My_jobs\sis\fuente\archivo.txt.

El problema que tengo es, cuando cambio o guardo mi programa en otro lugar (por ejemplo c:\sis ), la referencia del componente se pierde y tengo que volver a actualizar esa direccion.

Probe especificando esta direccion: '..\fuente\archivo.txt' (pensando que iba a funcionar como en Php) pero no acepta este tipo de direcciones.

Mi pregunta es... ¿Como puedo establecer una ruta relativa?

Gracias de antemano

delphi.com.ar 30-06-2004 17:53:17

Si pones una ruta tan estática como "D:\My_jobs\sis\fuente\archivo.txt." siempre se buscarán en ese sitio los archivos, podrías hacer rutas algo más dinámica averiguando la ruta de la aplicación, por ejemplo:
Código Delphi [-]
  ALogFile := ChangeFileExt(ParamStr(0), '.log')

jachguate 30-06-2004 20:00:20

Cita:

Empezado por tica
Probe especificando esta direccion: '..\fuente\archivo.txt' (pensando que iba a funcionar como en Php) pero no acepta este tipo de direcciones.

Esta ruta es perfectamente válida, pero no es relativa a la ruta donde se halla el ejecutable, sino a la "ruta actual" de la aplicación, que inicialmente es la especificada en el cuadro "iniciar en" de cualquier acceso directo a tu programa.

Hasta luego.

;)

Paoti 30-06-2004 20:21:09

Hola Tica.....


prueba hacer esto


Código:

var
ruta : string;
begin
ruta := ExtractFileDir(Application.ExeName) + '\' + 'archivo.txt';
eti.Caption := 'Se Creará el Archivo en... ' + Ruta;
end;

la funcion extractfiledir te devuelve la ruta donde esta tu aplicacion.... no importe donde este instalada....


espero te sirva

xomen 28-02-2012 03:03:25

Cita:

Empezado por Paoti (Mensaje 52908)
Hola Tica.....


prueba hacer esto


Código:

var
ruta : string;
begin
ruta := ExtractFileDir(Application.ExeName) + '\' + 'archivo.txt';
eti.Caption := 'Se Creará el Archivo en... ' + Ruta;
end;

la funcion extractfiledir te devuelve la ruta donde esta tu aplicacion.... no importe donde este instalada....


espero te sirva

Gracias me sirvió de mucho...


La franja horaria es GMT +2. Ahora son las 02:30:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi