[SOLUCIONADO] Problema con ubicación de archivo (base de datos) - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: [SOLUCIONADO] Problema con ubicación de archivo (base de datos) (/thread-1018.html) |
Problema con ubicación de archivo (base de datos) - Ozymandias - 04-09-2022 Hola a todos! Estoy escribiendo una aplicación que guarda apuntes sobre de clases. Utiliza una base de datos sqlite3 para guardar la información. Actualmente el archivo de la base de datos se encuentra en la carpeta del programa. Tengo dos problemas: 1. Cuando creo el ejecutable (por ejemplo en el escritorio). No se encuentra el archivo Código: Conn = New Connection Application.path dirige al Escritorio. Si el programa está instalado a /bin... Lo que lleva al problema #2. ¿Cómo empaquetar y ubicar el archivo en el instalador?. Con los íconos no tengo problema. Leí una entrada que hablaba de esto y sé que Gambas lo hace solo y funciona perfecto. Mi idea era hacer un Código: Mkdir ("$home/MyNotesDb") Primero (error: acceso prohibido) y luego ver de que manera copiar la base de datos a esa ubicación. La idea es ya tener una base de datos creada con algunos ejemplos. Cosa que al abrir el programa ya se abra la base de datos. Espero haber sido claro en mi pregunta Desde ya agradezco cualquier información que puedan dame. Agrego. Intenté esto al crear el instalador, pero tampoco. RE: Problema con ubicación de archivo (base de datos) - tincho - 04-09-2022 (04-09-2022, 22:10)Ozymandias escribió: Cuando creo el ejecutable (por ejemplo en el escritorio). No se encuentra el archivo Hola, si eso que te pasa es un error bastante usual. Hay varias formas de abordar el problema pero todas tienen un punto en comun y es la creacion de un directorio donde poner la base de datos. Código: Public sAppDir As String = User.Home &/ ".config/mynotes" Listo, con esto deberia funcionar todo. Luego para cerar el ejecutable o empaquetar sigues los pasos habituales y cuando el usuario abra por primera vez el programa se crera el andamiaje necesario. RE: Problema con ubicación de archivo (base de datos) - Ozymandias - 05-09-2022 Gracias! Funcionó perfecto. Tengo una última duda. Por qué funciona así? Código: If Not Exist(sAppDir) Then Código: Mkdir ("$home/MyNotesDb") Saludos! RE: Problema con ubicación de archivo (base de datos) - tincho - 05-09-2022 (05-09-2022, 00:01)Ozymandias escribió: "$home/MyNotesDb" Esto es lo que colocas en la terminal de Linux pero estas dentro del codigo gambas asi que si queres enviar ordenes a la terminal tenes que usar Shell o Exec po ejemplo: [code] RE: Problema con ubicación de archivo (base de datos) - Ozymandias - 05-09-2022 Gracias! RE: Problema con ubicación de archivo (base de datos) - Shell - 05-09-2022 ¿ Sería más recomendable usar settings ?. ( Para el directorio donde se va a ubicar la base de datos ) Aunque puede que en este caso no sea necesario. Cita:2b - Crear una base de datos usando un archivo SQL, esta es la que prefiero pero es mas complicada y extensa de desarrollar y solo se justifica si preferís trabajar con lenguaje SQL sobre un archivo de texto, pero si aun así te interesa este método puedo ampliar el tema. Pero entonces no estarías usando código de programación de Gambas. O casi..ya que ese código lo ejecuta Gambas de alguna forma. Alguna ventaja le veras. Saludos |