Guardar archivo

Hola belle. Mi problema es el siguiente: tengo una aplicación que funciona en un cd. En el tengo puesto una especie de block de notas(field) donde se puede pegar texto . Bien, lo que quiero es que el contenido del field se pueda guardar en una ruta que yo le de (ya sea disquetera como una carpeta especifica) y posteriormente (al día siguiente, por ejemplo) se abra el contenido del block de notas para seguir trabajando.
Se que con el getprefs no se puede porque solo me crea el archivo donde esta el proyector (en mi caso un cd, y no se puede).
TAMBIÉN HE PROBADO CON EL FILEIO PERO NO SE DONDE PUEDO INDICARLE LA RUTA A GRABAR YA QUE EN createFile( myfile, the moviepath&"textfile.txt" ) ENTIENDO QUE LA MOVIEPATH ES EL CD Y NO SE PUEDE CREAR EL ARCHIVO AHÍ. En fin espero haberme explicado. Si no me lo dices. Espero que me puedas ayudar con esto.
Un saludo y gracias
P.D. ¿quizás el filextra3? NO SE...

1 respuesta

Respuesta
1
Tu única solución es el fileio:
Te pongo aquí un ejemplo para copiar y otro para leer. Están explicados por mi, pero si no entiendes algo me lo comentas.
On abrir
instancia=new(xtra "fileIO")
nombre_archivo="C:\Mis documentos\pref \nuevor.txt"
if nombre_archivo="" then return FALSE
--esto analiza los errores si se producen
if status(instancia)<>0 then
fallo=error(instancia,status(instancia))
alert ("Se ha poducido un error en la lectura, debe repetir la operaciòn:")
return ""
end if
--Abre el archivo en la memoria para poder trabajar con el
--El tercer parámetro es 1 porque el archivo se abre solo para leer
openfile(instancia, nombre_archivo, 1)
--Se lee el contenido del archivo y se almacena en una variable
texto=readfile(instancia)
--Se borra la instancia
Closefile(instancia)
--Se guarda el contenido de la variable en un texto de director
member("texto").text=texto
end
on guardar
instancia=new(xtra "fileIO")
nombre_archivo="C:\Mis documentos\pref \nuevor.txt"
--esto analiza los errores si se producen
if status(instancia)<>0 then
fallo=error(instancia,status(instancia))
alert ("Se ha poducido un error en la lectura, debe repetir la operaciòn:")
return ""
end if
--Abre el archivo en la memoria para poder trabajar con el
--El tercer parámetro es 1 porque el archivo se abre solo para grabar
openfile(instancia, nombre_archivo, 2)
--Borra el archivo existente, si es que existiera.
delete(instancia)
--Crea de nuevo ese archivo para poder guardarlo con los nuevos datos
createfile(instancia, nombre_archivo)
--Abre el archivo en la memoria para poder trabajar con el
--El tercer parámetro es 1 porque el archivo se abre solo para grabar
openfile(instancia, nombre_archivo, 2)
--Se crea una variable con el texto que se quiere guardar en el archivo txt
texto=member("texto").text
--Escribe dentro del archivo txt
Writestring(instancia, texto)
--Se borra la instancia
Closefile(instancia)
end
Gracias por el código. Lo he visto y lo que no encuentro y realmente necesito es que al guardar se abra un cuadro de dialogo para indicar la ruta y nombre del archivo a guardar. Igualmente cuando lo vaya a abrir indicarle donde se había guardado.
Venga, un saludo y gracias
Ahora si :
On abrir
instancia=new(xtra "fileIO")
nombre_archivo=displayopen(instancia)
if nombre_archivo=void then
return FALSE
else
if status(instancia)<>0 then
fallo=error(instancia,status(instancia))
alert ("Se ha poducido un error en la lectura, debe repetir la operaciòn:")
return ""
end if
openfile(instancia, nombre_archivo,1)
texto=readfile(instancia)
closefile(instancia)
member("texto").text=texto
instancia=void
end if
end
on guardar
instancia=new(xtra "fileIO")
nombre_archivo=displaysave(instancia,"bedelludrica","datos.txt")
if nombre_archivo="" then return FALSE
openfile(instancia, nombre_archivo,2)
if status(instancia)<>0 then
fallo=error(instancia,status(instancia))
texto=member("texto").text
writestring(instancia,texto)
texto=readfile(instancia)
closefile(instancia)
return true
instancia=void
end

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas