Escribir lista en un disquete

Hola, verás tengo un problemilla y espero que tú puedas resolvérmelo:
Estoy tratando de hacer un cuestionario tipo test de tal forma que se piden una serie de datos al alumno y posteriormente empieza a contestar las preguntas tipo test que almaceno en una lista.
Hasta aquí no hay problema. Pero lo que me está volviendo loca es que luego tengo que escribir esos datos en un disquete y no sé como escribir el contenido de las variables y de la lista en un disquete.
Tienes algún ejemplo, o podrías mandarme uno (mi correo es [email protected]) para ver como funciona.
Estoy desesperada, y me corre bastante prisa.
Muchas gracias y espero tu respuesta

1 Respuesta

Respuesta
1
Una opcion es utilizar el comando "SetPref()" que te permite guardar en un fichero de preferencias cadenas de texto que luego puedes leer con "GetPref()". Se crea un directorio de preferencias donde tengas ejecutandose el proyector. Puedes copiar los valores guardados al disquete.
Otra opción sería utilizar el Xtra "fileio" que te permite un control completo de lo que escribes y lo que lees. Busca en la documentación ambas soluciones
no conozco los comandos setpref y getpref, además el inglés no es mi fuerte. ¿Tienes algún ejemplo hecho en Director?.
En cuanto al xtra fileio: ¿Es gratis? ¿Donde puedo conseguirlo?
Gracias por tu respuesta
Ahora mismo no tengo ningun ejemplo, pero los ejemplos son bastante sencillos, prueba a copiarlos y pegarlos en un script. Mira en la carpeta Xtras que está en Archivos de programa->Macromedia->Director x->Xtras para ver si esta el fichero fileio. X32
Pero a qué te refieres con ...los ejemplos son bastante sencillos, prueba a copiarlos y pegarlos en un script.
De qué ejemplos hablas? No te entiendo. Perdona, pero soy un poco novata en esto y estoy hecha un lío
No tengo mucha idea de inglés, me puedes decir más o menos de que va.
Gracias.
Para escribir en un fichero "textfile.txt" el contenido de un field "myfield":
On writeToFile
Global myFile
if objectP(myFile) then set myFile = 0 --Deletes the instance if it already exists
set theFile = the text of field "myfield" -- Puts some text into a variable
set myFile = new(xtra "fileio") -- Creates an instance of FileIO
if the moviePath = "" then
alert "No moviePath! Save your movie and try again."
-- Makes sure moviePath is NOT empty
else
CreateFile( myfile, the moviepath&"textfile.txt" ) -- Creates the file
openFile( myFile, the moviepath&"textfile.txt", 0) -- Opens the file with R/W access
setfinderinfo(myFile, "TEXT ttxt") -- Makes readable by SimpleText (Mac only)
writeString( myFile, theFile) -- Writes text to the file
alert "Status: "&error(myFile,status(myFile)) -- Displays error message
end if
closeFile (myFile) -- Closes the file
set myFile = 0 -- Disposes of the instance
end
Para añadir a un fichero "texstfile.txt" el contenido de un field "myfield":
On appendToFile
global myFile
if objectP(myFile) then set myFile = 0 -- Deletes the instance if it already exists
set theFile = the text of field "myfield" -- Puts some text into a variable
set myFile = new(xtra "fileio") -- Creates an instance of FileIO
if the moviePath = "" then
alert "No moviePath! Please save your movie and try again."
else
openFile(myfile, the moviepath&"textfile.txt",0) --Opens the file with R/W access
setPosition(myfile,getLength(myFile)) -- Sets position to end of file
writeString(myFile, theFile) -- Appends text to the file
alert "Status: "&error(myFile,status(myFile)) -- Displays error message
end if
closeFile (myfile) -- Closes the file
set myFile = 0 -- Disposes of the instance
end
Borrar un fichero "textfield.txt" que se encuentra en el mismo directorio que la aplicacion:
On deleteFile
global myFile
if objectP(myFile) then set myFile = 0 -- Deletes the instance if it already exists
set myFile = new(xtra "fileio") -- Creates and instance of FileIO
if the moviePath = "" then
alert "No moviePath. Please save your movie and try again."
Else
openFile (myFile, the moviepath&"textfile.txt",0) -- Opens the file
delete (myFile) -- Deletes the file
alert "Status:"& error(myFile,status(myFile)) -- Displays error message
end if
closefile (myfile) -- Closes the file
set myFile = 0 -- Disposes of the instance
end
Leer de un fichero "textfield.txt" a un filed "myfield" utilizando un letrero de dialogo:
on readFromFile
global myFile
if objectP(myFile) then set myFile = 0 --Deletes the instance if it already exists
set myFile = new(xtra "fileio") -- Creates an instance of FileIO
if the machinetype = 256 then
setfiltermask (myfile, "All files,*.*,Text files,*.txt") -- Sets the filter mask (Win)
else
setfiltermask (myfile, "TEXT") -- Set the filter mask (Mac)
end if
set fileName = displayOpen(myFile) -- Displays the "Open" dialog
if not voidP(filename) and not (filename = EMPTY) then
openFile(myFile, filename, 1) -- Opens file that user selected
if status(myFile) = 0 then
set theFile = readFile(myFile) -- Reads the file into a Lingo variable
put theFile into field "myField" -- Displays the text in a field
else
alert error(myfile,status(myfile)) -- Displays error message
end if
end if
closeFile(myFile) -- Closes the file
set myFile = 0 -- Disposes of the instance
end
** Localizar el nombre de la unidad de CD-ROM:
global myFile, thisPath,myCD
on mouseUp me
stripTheFile
end
on stripTheFile
if myFile=void then
alert "no file"
exit
else
theFileName = member("file_field").text
if objectP(myFile) then set myFile = 0
myFile =new(xtra "fileio")
--ThisPath is stored in another handler
openFile (myFile, thisPath, 1)
temp=readFile(myFile)
repeat while TRUE
y= offset(numToChar(10), temp)
if y > 0 then
delete char y of temp
else
exit repeat
end if
end repeat
member("display")Text=temp
myFileObj = 0
end if
end
Muchísimas gracias por esa respuesta tan completa que me has mandado, me viene de maravilla. Hoy no puedo probarla porque estoy bastante liada, pero en cuanto tenga un hueco libre lo haré.
Otra cosa, como yo lo que tengo que hacer es escribir una lista que se llama cuestionario, lo único que tengo que hacer es sustituir myfield por Cuestionario?
Gracias nuevamente
OK makey... Cambia "myfield" por "cuestionario"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas