Ayuda con lingo

Hola, tengo un ejemplo de una base de datos con la que se crea y consulta, funciona todo bien, solo que cada vez que se ejecuta el programa el usuario debe primero abrir la base de datos para poder hacer búsquedas y lo que necesito es que esta este abierta de manera automática.
Este es el código que ocupo:
-- open an existing database file
on openDatabase
-- ask user for a file
global fileObj
fileObj = new(Xtra "FileIO")
filename = displayOpen(fileObj)
if filename = "" then exit
-- open the file and read the text
openFile(fileObj, filename, 1)
text = readFile(fileObj)
closeFile(fileObj)
-- try to convert the text to a list
database = value(text)
if not listP(database) then
-- not a list
alert "Not a valid database file."
else
-- is a list, set database
gDatabase =database
end if
La verdad no entindo mucho, ¿qué puedo hacer?
Gracias,
Respuesta
1
Lo que debes hacer es eliminar la instrucción displayOpen y reemplazarla por
miFileName=the moviePath&"CARPETA\archivo.db"
OpenFile(fileObj, miFileName, 1)
(Supongo que el archivo de DB está en el mismo disco que el DIR que la llama y dentro de una carpeta llamada CARPETA)
Quedaría así:
-- Open an existing database file
On openDatabase
-- ask user for a file
global fileObj
fileObj = new(Xtra "FileIO")
--nuevo-------
miFileName=the moviePath&"CARPETA\archivo.db"
OpenFile(fileObj, miFileName, 1)
--------------
if filename = "" then exit
-- open the file and read the text
openFile(fileObj, filename, 1)
text = readFile(fileObj)
closeFile(fileObj)
-- try to convert the text to a list
database = value(text)
if not listP(database) then
-- not a list
alert "Not a valid database file."
else
-- is a list, set database
gDatabase =database
end if
end
Ya probé lo que me dijiste pero no me funciona, como te decía no sé casi de esto, tengo dudas.
¿En cuánto a lo de miFileName, podría ponerlo así o debe ser solo filename? Porque sucede que con mifilename al compilarlo me da error.
Otra es que mi base de datos la tengo en .txt, ¿esto puede ser un problema?
Te agradezco mucho que me hayas contestado tan rápido.
MiFileName y filename solamente son variables y puedes llamarlas como gustes.
Te sugiero reemplazar filename por miFileName u otra variable, pues filename es una palabra reservada de director y por ese motivo le pone otro color al escribirla en un script.
On openDatabase
-- ask user for a file
global fileObj
fileObj = new(Xtra "FileIO")
--nuevo-------
miFileName=the moviePath&"CARPETA\archivo.db"
OpenFile(fileObj, miFileName, 1)
--------------
if miFileName = "" then exit
-- open the file and read the text
openFile(fileObj, filename, 1)
text = readFile(fileObj)
closeFile(fileObj)
-- try to convert the text to a list
database = value(text)
if not listP(database) then
-- not a list
alert "Not a valid database file."
else
-- is a list, set database
gDatabase =database
end if
end
Muchísimas gracias, en verdad me has ayudado, pero tengo una ultima pregunta, a veces me hace la búsqueda y otras no, a uno o dos o tres intentos, sin parar la película, ni cerrarla, sin hacerle absolutamente nada
¿Qué podría ser?
Es posible que solo sea necesario inicializar alguna variable, por ejemplo, gDatabase no está definido como global.
Es el caso de la variable de salida gDatabase debes declararla como
global gDatabase
y al comenzar el script puedes inicializarla en
gDatabase = void
SI no defines una variable como global su valor(o contenido) se elimina al terminar el handler(end).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas