Para Leer datos de un fichero
File Load:
cadena_de_texto = File.Load(ruta)
Para guardar el contenido de una cadena en un nuevo fichero:
File Save:
File.Save(ruta, cadena_de_texto)
Para más informacion:
http://gambaswiki.org/wiki/comp/gb/file/load?nh
http://gambaswiki.org/wiki/comp/gb/file/save?nh
Un ejemplo simple:
Public
Sub
Main()
Dim
texto As
String
Print
"------------------"
Print
"Ejemplo
de uso de File"
Print
"------------------"
texto
=
"Esto
es un mensaje guardado"
Print
"La
informacion que guardo es: "
Print
texto
File.Save(User.Home
&
"/prueba.txt",
texto)
Print
"texto
guardado en ";
User.home
&
"/prueba.txt"
Print
"Ahora
lo leo y muestro su contenido:"
texto
=
File.Load(User.home
&
"/prueba.txt")
Print
"------------------"
Print
"Contenido:"
Print
texto
Print
"------------------"
End
Enlace de descarga del código: enlace
Enlace de Descarga del ejecutable: enlace
Normalmente, la información que guardamos son array de cadenas. (o arrays de numeros que convertimos en cadenas). Nos va a ser muy útil el metodo .join y la función split, como veremos en el siguiente ejemplo:
'
Gambas module file
Public
Sub
Main()
Dim
arr_cadena As
String[]
Dim
arr_copia As
String[]
Dim
a As
Integer
Dim
contenido As
String
'añadimos
al array de cadenas unos nombre...
arr_cadena
=
New
String[]
arr_cadena.Add("Julio")
arr_cadena.Add("Juan")
arr_cadena.Add("Luis")
arr_cadena.Add("Marta")
arr_cadena.Add("Eva")
'los
guardamos en una variable de cadena, para ello, los unimos con la
funcion .join
contenido
=
arr_cadena.Join("|")
'usamos
el caracter "|" , para separar los datos unos de otros
Print
"Los
datos los guardos en este formato:"
Print
contenido
File.Save(User.home
&
"/lista.txt",
contenido)
Print
""
Print
""
Print
"Ahora
leo los datos"
contenido
=
File.Load(User.home
&
"/lista.txt")
Print
"Ahora,
los divido usando la funcion split, para tenerlos otra vez en un
array de cadenas"
arr_copia
=
New
String[]
arr_copia
=
Split(contenido,
"|")
'ya
estan contenido en el array
'
'los
muestros:
For
a =
0
To
arr_copia.Max
Print
"array
(";
a; ")=";
arr_copia[a]
Next
Print
"Fin
del programa"
End
El resultado en la consola es:
Enlace de descarga del Código Fuente: Enlace
Enlace de descarga del ejecutable: Enlace
Nota:
user.home: nos indica el directorio del usuario
Otro ejemplo simple:
Vamos a generar una serie de valores integer aleatorios en un array , guardarlos en un archivo y luego leerlos y asignarlos a otro array y mostrarlo en la pantalla.
Public
Sub
Form_Open()
Dim
a As
Integer
Dim
numeroaleatorio As
Integer
'array
donde estaran los numero integer
Dim
arrayValores As
New
Integer[]
'array
de conversion a cadena
Dim
arrayCadena As
New
String[]
'cadena
resultante: cadena que contiene todos los valores del array de
integer,convertido en una unica cadena
Dim
cadena As
String
Dim
cadenaLeida As
String
'cadena
para leer de un archivo
'creo
los numeros que añado al array
Randomize
For
a =
0
To
50
numeroaleatorio =
Rnd(1,
6)
arrayValores.Add(Int(numeroaleatorio))
Next
For
a =
0
To
10
arrayCadena.Add(Str$(arrayValores[a]))
Next
'uno
todos los valores, separandoles con una barra vertical
cadena =
arrayCadena.Join("|")
Print
"La
cadena de numero es: "; cadena
'y
esta cadena es la que puedo guardar en el fichero de texto..
File.Save(User.home
&
"/MatrizPrueba.txt",
cadena)
'borro
los datos anteriores
arrayCadena.Clear
arrayValores.Clear
'para
leerla...
cadenaLeida =
File.Load(User.Home
&
"/MatrizPrueba.txt")
'paso
los valores de la cadena a una array de cadena de caracteres
arrayCadena =
Split(cadenaLeida,
"|")
'Paso
el contenido del array de cadena de caracteres a un array de integer
For
a =
0
To
arrayCadena.Max
arrayValores.Add(Val(arrayCadena[a]))
Next
'Escribo
los valores del array de integer..
For
a =
0
To
arrayValores.Max
Print
arrayValores[a]; "
";
Next
End
Enlace de descarga del código: enlace
Nota: 27/10/2014
Write Append
Algunas veces necesitamos añadir información al final de un archivo de texto. Existe un modo de abrir el archivo, que nos facilita esa labor, ahorrandonos leer todo el contenido del archivo.
Código de ejemplo:
DIM hFile as File
DIM path as String
path = "ruta/al/archivo.txt"
hFile = OPEN path FOR WRITE APPEND
PRINT #hFile, "Escribo mas texto al final\n"
PRINT #hFile, "Y mas y mas\n"
hFile.Close
Con el codigo anterior hemos leido el archivo "ruta/al/archivo.txt", y le hemos añadido al final los textos de "Escribo mas texto al final\n" y "Y mas y mas\n"
fuente: http://www.gambas-es.org/viewtopic.php?f=1&t=633&start=0
No hay comentarios:
Publicar un comentario