Para manejar bases de datos debes comparte algún 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 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 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 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=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&\
"
[email protected] "
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&\
"
[email protected] "
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 parámetro es 1 porque el archivo se abre solo para grabar
openfile(instancia, nombre_archivo, 2)
texto=P_TEXTO.text
writestring(instancia,texto)
texto=readfile(instancia)
closefile(instancia)
return true
instancia=void
end