Inicio > Macromedia Director > bedelludrica > Se pueden manejar ficheros de texto con Director?

Se pueden manejar ficheros de texto con Director?

Experto:
Usuario:
Fecha: 21/11/2008
Valoración: (4,00 sobre 5) Categoría: Macromedia Director
21/11/2008
txingo, usuario preguntando en Macromedia Director
Usuario
Hola,
Me gustaría saber si con director puedo manejar ficheros de texto (abrirlos, cerrarlos, leerlos, escribirlos, guardarlos, etc). Si existiera la posibilidad de manejar bases de datos ya sería lo mejor.
Muchas gracias.
21/11/2008
txingo, experto respondiendo en Macromedia Director
Experto
Para manejar bases de datos debes comparte algun xtra y los precios oscilan entre las 70.000 pts y las 300.000.
Si quieres comprarte alguno te doy direcciones.

Para ficheros de texto tienes el fileio que te viene con director.



Abrir directo.



property p_direccion,p_texto


on getPropertyDescriptionList


lista= [:]


addProp lista, #p_direccion,\
[#comment: "escribe la ruta del archivo",#format:#String,\
#default: "texto.txt" ]


addProp lista, #p_texto, \
[#comment: "elige el texto" ,#format:#text\
,#default:""]


return lista





end getPropertyDescriptionList



on mouseup me

instancia=new(xtra "fileIO")

nombre_archivo=the pathname&p_direccion

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 parametro es 1 porque el archivo se abre sòlo para leer
openfile(instancia, nombre_archivo,1)

--se lee el contenido del archivo y se almacena en una variable
texto=readfile(instancia)

--se guarda el contenido de la variable en un texto de director
p_texto.text=texto

--se borra la instancia
closefile(instancia)


end





Guardar directo:


property p_direccion,p_texto


on getPropertyDescriptionList


lista= [:]


addProp lista, #p_direccion,\
[#comment: "escribe la ruta del archivo",#format:#String,\
#default: "texto.txt" ]


addProp lista, #p_texto, \
[#comment: "elige el texto" ,#format:#text\
,#default:""]


return lista





on mouseup me
instancia=new(xtra "fileIO")

nombre_archivo=the pathname&p_direccion

--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 parametro es 1 porque el archivo se abre sòlo 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 parametro es 1 porque el archivo se abre sòlo para grabar
openfile(instancia,nombre_archivo,2)

--se crea una variable con el texto que se quiere guardar en el archivo txt
texto=p_texto.text

--escribe dentro del archivo txt
writestring(instancia,texto)

--se borra la instancia
closefile(instancia)



end







Abrir con el navegador:



on getBehaviorTooltip me

return \
"Usa este comportamiento para leer el contenido de un texto externo y colocarlo en un text de director con ayuda del navegador. "&\
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"bedelludrica@wanadoo.es "

end getBehaviorTooltip


property p_texto--,p_direccion


on getPropertyDescriptionList


lista= [:]

--
-- addProp lista, #p_direccion,\
--[#comment: "escribe la ruta del archivo",#format:#String,\
--#default: "texto.txt" ]
--

addProp lista, #p_texto, \
[#comment: "elige el texto" ,#format:#text\
,#default:""]


return lista





end getPropertyDescriptionList



on mouseup me
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)
p_texto.text=texto
instancia=void
end if
end




guardar on el navegador de window:




on getBehaviorTooltip me

return \
"Usa este comportamiento para guardar el contenido de un text interno de director y colocarlo en un texto externo con la ayuda del navegador. "&\
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"bedelludrica@wanadoo.es "

end getBehaviorTooltip


property p_direccion,p_texto,p_t


on getPropertyDescriptionList


lista= [:]


addProp lista, #p_direccion,\
[#comment: "escribe el nombre archivo predeterminado",#format:#String,\
#default: "archivo.fty" ]

addProp lista, #p_t,\
[#comment: "escribe el titulo de la ventana save",#format:#String,\
#default: "bedelludrica" ]


addProp lista, #p_texto, \
[#comment: "elige el texto" ,#format:#text\
,#default:""]


return lista





on mouseup me
instancia=new(xtra "fileIO")

nombre_archivo=displaysave(instancia,p_t,p_direccion)

if nombre_archivo="" then return FALSE
--abre el archivo en la memoria para poder trabajar con el
--el tercer parametro es 1 porque el archivo se abre sòlo 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 parametro es 1 porque el archivo se abre sòlo para grabar
openfile(instancia,nombre_archivo,2)



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

texto=P_TEXTO.text
writestring(instancia,texto)

texto=readfile(instancia)
closefile(instancia)
return true

instancia=void

end
21/11/2008
txingo, usuario preguntando en Macromedia Director
Usuario
Lo primero muchas gracias por responder. La respuesta sobre los ficheros me ha sido de gran ayuda. La pregunta que te quiero hacer ahora es sobre los xtras para bases de datos.
Por internet no se podría encontrar algún xtra 'gratuito'? Es que soy estudiante y no puedo pagar 70.000 ptas por un software, no me dedico profesionalmente, entonces ...
21/11/2008
txingo, experto respondiendo en Macromedia Director
Experto
Es imposible piratear xtra que yo sepa. Son cosas muy específicas y alguien te lo tendría que regalar cosa que dudo. Lo que puedes hacer es contactar directamnete con las empresas de xtra y decirles que eres estudiante. A veces te suelen regalar el xtra si estás en esta situacion.ç

21/11/2008
txingo, usuario preguntando en Macromedia Director
Usuario
Muchísimas gracias por tu ayuda,
Txingo.
Enlaces patrocinados