Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Rutas relativas dentro del ejecutable
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Rutas relativas dentro del ejecutable 
 
Hola que tal, tengo una duda rápida, pareciera fácil pero no encuentro mucho en el foro y la red, también estoy trabajando con archivos y quiero guardar unos datos, pero mediante una ruta relativa:

Ruta = "../BaseDeDatos/prueba.txt"
Archivo = Open Ruta For Write Create

en teoría quiero subir una carpeta a la actual y guardar ese archivo, pero me aparece un error que dice "Acceso prohibido" las carpetas tienen todos los permisos, así que no se que ande haciendo mal, espero me puedan ayudar, saludos.
 



 
Erik Gasca - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Citar:
Ruta = "../BaseDeDatos/prueba.txt"

Eso no es una forma correcta de mencionar un path. ../ se refiere al directorio padre del directorio actual que es... el directorio de la aplicación de gambas, es decir /usr/bin o alguno parecido. Sobre tal directorio no tienes permisos.
Ubícate en el home del usuario con:

Ruta=User.home &/Basededatos/etc. etc.


Con eso no tendrás problemas.

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Gracias por responder, lo estoy trabajando como me comentas con user.home, pero me da un poco de lata, ya que trabajo sobre el mismo proyecto en 3 maquinas diferentes y las direcciones cambian, mi intención con ../ era subir una carpeta a la actual (donde esta mi proyecto) y grabar en otra que cree para contener todas las bases de datos, pensando en no importar donde corra mi programa se guarde todo en la misma carpeta  
 



 
Erik Gasca - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Citar:
maquinas diferentes y las direcciones cambian,

Precisamente por eso es necesario utilizar el user.home asegúrate que en la carpeta del usuario existe la carpeta que necesitas para tus tejemanejes (si no existe la creas con user.home, por supuesto) y a partir de ahí funciona en cualquier máquina.

Citar:
una carpeta a la actual (donde esta mi proyecto)

Esa carpeta no es la misma en tiempo de diseño, cuando la pruebas con el IDE, que en tiempo de ejecución en la máquina del cliente. Es necesario usar user.home.

Es práctica habitual el crear una carpeta con el nombre user.home &/ "." & Application.name, donde guardas y haces todo lo que la aplicación necesite.
Otra opción es usar temp(), que te da una carpeta dentro de /tmp para lo que quieras, sabiendo que en entorno temporal desaparecen al reiniciar el aparato...

Por otra parte, y como simple curiosidad, BasedeDatos/prueba.txt suena a fichero de texto, no a base de datos. Según lo que quieras hacer, usar texto para eso es una buena práctica o un maldito lío...

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
gracias, seguiré tus consejos, bueno en si no es una base de datos, mi aplicación simula una matriz de leds, creas animaciones y después las cargas por bluetooth a la matriz de leds real, en esa carpeta guardo archivos que me indican que leeds se van a prender, cuanto tiempo dura la animación, coordenadas iniciales y finales, etc.
 



 
Erik Gasca - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Erik Gasca escribió: [Ver mensaje]
Gracias por responder, lo estoy trabajando como me comentas con user.home, pero me da un poco de lata, ya que trabajo sobre el mismo proyecto en 3 maquinas diferentes y las direcciones cambian, mi intención con ../ era subir una carpeta a la actual (donde esta mi proyecto) y grabar en otra que cree para contener todas las bases de datos, pensando en no importar donde corra mi programa se guarde todo en la misma carpeta  


no eso no  
debes respetar el arbol de directorios
 estructura-directorio

para guardar las bases de datos
crea un directorio en /var
 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Citar:
crea un directorio en /var

Siendo esto correcto, sin embargo no siempre puede ser aconsejable. La ubicación de /var por su propia naturaleza, debería ser uno de las particiones grandes del disco o discos, porque puede llegar a alcanzar tamaños grandes. Sin embargo dudo que hoy en día nadie tenga eso en cuenta. La práctica más extendida, hasta donde yo he podido ver, es hacer una partición de entre 20 y 40 gigabytes para el sistema y otra con el resto del disco para /home. Usar por defecto /var para lo que fué diseñado puede traer como consecuencia la saturación de la partición raíz. Todo esto sin tener en cuenta el tema de permisos en ejecución del usuario etc. etc.

Creo que lo más correcto es usar por defecto algún lugar de /home y luego dar al usuario opción a cambiar la ubicación dentro del propio programa.

(Tal vez fuese más interesante sacar toda esta conversación a otro hilo más explicativo de lo que estamos hablando, a ver si Jesús puede hacerlo)

Saludos.
 



 
última edición por shordi el Miercoles, 31 Diciembre 2014, 12:10; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Entiendo que lo que me comentan es una manera más correcta de trabajar con gambas y cualquier programa similar, mi problema surge por que en mi lap y maquina de escritorio trabajo en la carpeta de dropbox, entonces me interesa que cuando hago modificaciones se actualice el proyecto en ambas maquinas sin tener que estar pasando carpetas extras de manera manual, y en la maquina de la escuela no puedo andarle moviendo mucho y ahí no puedo instalar el dropbox, por lo que cuando necesito ocuparla, paso lo que hice por usb. No creí hacer un lío con mi pregunta    lo más importante es que no tengo mucho tiempo ocupando gambas y no sabía que la carpeta de diseño no es la misma que en ejecución    eso ya me deja claro por que no servia la dirección que ponía. Muchas gracias por responder,  aprendí algo nuevo  
 



 
Erik Gasca - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas relativas dentro del ejecutable 
 
Citar:
entonces me interesa que cuando hago modificaciones se actualice el proyecto en ambas maquinas sin tener que estar pasando carpetas extras de manera manual

Eso vengo haciéndolo yo desde hace más de un año y funciona de maravilla. Yo tengo el mismo nombre de usuario en ambas máquinas, aunque no creo que eso sea necesario.
Un único detalle es que no uso Dropbox porque no respeta los enlaces simbólicos. Uso Copy, que es lo mismo, pero con 20 gigas gratis.
Ahora Mega, que ofrece 50 gigas, ya tiene el módulo de sincronización para Linux y lo he instalado, pero aún no lo he probado con los enlaces simbólicos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rutas Relativas dentro del ejecutable 
 
shordi escribió: [Ver mensaje]

(Tal vez fuese más interesante sacar toda esta conversación a otro hilo más explicativo de lo que estamos hablando, a ver si Jesús puede hacerlo)


Mensajes movidos a un nuevo hilo "Rutas Relativas dentro del ejecutable".

Al realizar una nueva pregunta que tenga poco que ver con un hilo existente, crear un hilo nuevo en lugar de responder a uno antiguo.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Preparar Nuestro Programa Para Un Usuario.... Shell General 5 Viernes, 21 Octobre 2011, 13:54 Ver último mensaje
Dani26
No hay nuevos mensajes Creando Rutas Desde Un Movil Con Gps Para ... jsbsan Aplicaciones/Fragmentos de Código 1 Domingo, 22 Julio 2012, 19:00 Ver último mensaje
misael
No hay nuevos mensajes Que Formas Usar Para Llenar Un Combobox Co... v3ctor Controles/Librerías/Componentes 6 Miercoles, 13 May 2015, 20:43 Ver último mensaje
shordi
No hay nuevos mensajes Manejar Rutas De Archivos Con Espacios. tincho General 3 Sabado, 14 Enero 2017, 17:37 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron