Página 1 de 1

Re: Path from here

Publicado: Mar Ago 07, 2007 11:48 am
por Angel
No termine de entender muy bien el uso que quieres hacer de las rutas.
Te comento lo que he entendido.
Supongamos que tienes un proyecto en: "C:XailerMiproyecto". Tienes las
bases de datos y demás información sobre el programa en:
"C:XailerMiproyectoData".
Si lo que quieres es utilizar rutas del tipo: "..data", puedes crear
una variable pública (por ejemplo, cDirAplicacion) que contenga:
cDirAplicacion:="." Es posible obtener la ruta de cualquier
carpeta/fichero que se encuentren por debajo o por arriba, de la carpeta
en la que estás ejecutando la aplicación.
Pongo unas carpetas de ejemplo:
C:Miexe
C:MiexeData
C:MiexeDocumentos
Si el directorio activo es C:MiexeDocumentos, y preguntaramos por la
ruta relativa "...." este nos devolverí­a C:. Si preguntaramos por la
ruta "..", nos devolverí­a C:MiExe. Hay opción de realizar combinaciones
con las rutas. Si nos encontramos en C:MiexeDocumentos, y
preguntamos por la ruta: "..Data", nos llevarí­a al directorio
"C:MiexeData".
Si lo que buscas es una "función" que te devuelva la ruta a seguir desde
la carpeta en la que te encuentras hasta otra totalmente diferente,
usando rutas relativas ("....") hasta dí­a de hoy yo no he visto
ninguna. Me suelo apañar con una variable que contenga la ruta de la
aplicación y a partir de ahí­ poder hallar cualquier otro directorio que
se encuentre inmediatamente por debajo, o por encima de este. Espero
haberte servido de ayuda, un saludo.

Re: Path from here

Publicado: Mar Ago 07, 2007 3:29 pm
por zeasoftware
Te explico nuevamente:
la cosa es que podria llegar a tener paths mas o menos como esto:
"......NominaDatosEmpleados.dbf"
El objetivo es que al abrir el programa pueda localizar el achivo buscandolo
a partir de la ubicacion de este.
si paso mi aplicacion de una unidad a otra y tuviera:
"C:Nominadatosempleados.dbf" y ya no podria usar el path.
El asunto es que tengo una pc para programar y otra para testear.
Gracias.
--
Ramón Zea
01.993.194.14.27
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
"Ángel Fernández" <angel@agelso.com> escribió en el mensaje
news:46b84023$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> No termine de entender muy bien el uso que quieres hacer de las rutas. Te
> comento lo que he entendido.
>
> Supongamos que tienes un proyecto en: "C:XailerMiproyecto". Tienes las
> bases de datos y demás información sobre el programa en:
> "C:XailerMiproyectoData".
>
> Si lo que quieres es utilizar rutas del tipo: "..data", puedes crear una
> variable pública (por ejemplo, cDirAplicacion) que contenga:
> cDirAplicacion:="." Es posible obtener la ruta de cualquier
> carpeta/fichero que se encuentren por debajo o por arriba, de la carpeta
> en la que estás ejecutando la aplicación.
>
> Pongo unas carpetas de ejemplo:
>
> C:Miexe
> C:MiexeData
> C:MiexeDocumentos
>
> Si el directorio activo es C:MiexeDocumentos, y preguntaramos por la
> ruta relativa "...." este nos devolvería C:. Si preguntaramos por la
> ruta "..", nos devolvería C:MiExe. Hay opción de realizar combinaciones
> con las rutas. Si nos encontramos en C:MiexeDocumentos, y preguntamos
> por la ruta: "..Data", nos llevaría al directorio "C:MiexeData".
>
> Si lo que buscas es una "función" que te devuelva la ruta a seguir desde
> la carpeta en la que te encuentras hasta otra totalmente diferente, usando
> rutas relativas ("....") hasta día de hoy yo no he visto ninguna. Me
> suelo apañar con una variable que contenga la ruta de la aplicación y a
> partir de ahí poder hallar cualquier otro directorio que se encuentre
> inmediatamente por debajo, o por encima de este. Espero haberte servido de
> ayuda, un saludo.

Re: Path from here

Publicado: Mar Ago 07, 2007 8:35 pm
por jfgimenez
Ramón,
rendrías que hacerte una función que obtenga cada una de las partes del path
(buscando los caracteres ) y luego los vaya comparando uno a uno entre los
dos path que tienes, para sustituir lo que corresponda por "..". P.ej.,
supongamos dos path así:
cPath1 := "C:ProyectoDatosEmpresa1"
cPath2 := "C:ProyectoPrograma"
Si estás en el path2 y quieres abrir un fichero del path1, la rutina tendría
que ir comparando las partes de cada path y quedarse con las que no son
iguales:
cPath1: "DatosEmpresa1"
cPath2: "Programa"
Con esa información la rutina puede ya montar el path relativo, sustituyendo
cada parte que quede en cPath2 por ".." y añadiendo al final cPath1
cPath := "..DatosEmpresa1"
Si fuera al revés (desde path1 obtener path2) sería:
cPath := "....Programa"
En fin, esa es la idea... ahora toca implementarlo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info