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
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