|
21/11/2008
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
|