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.

Re: Path from here

Foro de Xailer profesional en español
Responder
Angel
Mensajes: 135
Registrado: Mié Mar 21, 2007 1:11 pm

Re: Path from here

Mensaje 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.
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Re: Path from here

Mensaje 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.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Path from here

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder