Guardar datos en archivo (no base de datos)

21/01/2007 - 18:44 por Ivan | Informe spam
Hola foro,
el problema es q quiero hacer en VB 2005 lo q hacia en VB6, crear un archivo
.dat para guardar un conjunto de datos tipo una estrucutura q guarda info de
configuracion de la applicacion y asi cuando esta inicie lo cargue y se
configure como corresponde.
He visto el uso de streams y como guardar-crear-leer archivos de texto y
viendo la ayuda encontre la clase binaryreader-writer q es lo mas parecido q
encontre pero el ejemplo no me sirve pq guarda 4 variables de distintos tipos
en una sola posicion del archivo(en vb6 se guardar en varias posiciones osea
tener la misma estructura con direntes valores almacenada en el mismo archiv)
y para recuperarlos los va leyendo de a uno con metodos tipo .readBoolean.
No se como modificarlo para poder guardar directamente una structura o
almenos lo q necesito es poder guardar un vector string() q necesita tener
alrededor de 100 posiciones.
Si alguien tiene la solucioon o ejemplo del q me pueda guiar(pq el de la
ayuda no me ayuda) se lo agradesco desde ya.
Saludos.

PD: aparte, hay forma de listar y presentar p.e. todas las funciones (q he
creado yo) de una clase??, yyy como le agrego comentarios a estas para cuando
la quiera usar me tire info como hacen las q vienen ya en el VB.NEt EJ
Archivo.Abrir("este metodo sirve para arbrir un archivo de texto") Algo asi :)

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
21/01/2007 - 19:58 | Informe spam
Para lo primero:
hay una solución más cómoda (y a mi gusto elegante):
En el explorador de soluciones, haz click con el boton derecho sobre el
proyecto.
Haz click sobre propiedades.
Haz click sobre recursos
En la parte de arriba a la izquierda, selecciona cadenas (si no está
seleccionado)
Crea las cadenas que necesitas.

para recuperar los valores almacenados:
My.Resources.NombreDeLaCadena

Para modificar (sin necesidad de compilar de nuevo):
En la carpeta MyProyect, abre el archivo Resources con el notePad (por
ejemplo),
ahí aparecen las cadenas que has creado (entre muchas otras cosas)

Para lo segundo: no sé.

Para lo tercero:
Situate en la linea inmediatamente superior a la declaración de la
función o procedimiento
Escribe ''' (3 comillas simples)
Sorpresa!


Ivan ha escrito:
Hola foro,
el problema es q quiero hacer en VB 2005 lo q hacia en VB6, crear un archivo
.dat para guardar un conjunto de datos tipo una estrucutura q guarda info de
configuracion de la applicacion y asi cuando esta inicie lo cargue y se
configure como corresponde.
He visto el uso de streams y como guardar-crear-leer archivos de texto y
viendo la ayuda encontre la clase binaryreader-writer q es lo mas parecido q
encontre pero el ejemplo no me sirve pq guarda 4 variables de distintos tipos
en una sola posicion del archivo(en vb6 se guardar en varias posiciones osea
tener la misma estructura con direntes valores almacenada en el mismo archiv)
y para recuperarlos los va leyendo de a uno con metodos tipo .readBoolean.
No se como modificarlo para poder guardar directamente una structura o
almenos lo q necesito es poder guardar un vector string() q necesita tener
alrededor de 100 posiciones.
Si alguien tiene la solucioon o ejemplo del q me pueda guiar(pq el de la
ayuda no me ayuda) se lo agradesco desde ya.
Saludos.

PD: aparte, hay forma de listar y presentar p.e. todas las funciones (q he
creado yo) de una clase??, yyy como le agrego comentarios a estas para cuando
la quiera usar me tire info como hacen las q vienen ya en el VB.NEt EJ
Archivo.Abrir("este metodo sirve para arbrir un archivo de texto") Algo asi :)
Respuesta Responder a este mensaje
#2 Alberto Poblacion
21/01/2007 - 20:08 | Informe spam
"Ivan" wrote in message
news:
Hola foro,
el problema es q quiero hacer en VB 2005 lo q hacia en VB6, crear un
archivo
.dat para guardar un conjunto de datos tipo una estrucutura q guarda info
de
configuracion de la applicacion y asi cuando esta inicie lo cargue y se
configure como corresponde.
He visto el uso de streams y como guardar-crear-leer archivos de texto y
viendo la ayuda encontre la clase binaryreader-writer q es lo mas parecido
q
encontre pero el ejemplo no me sirve pq guarda 4 variables de distintos
tipos
en una sola posicion del archivo(en vb6 se guardar en varias posiciones
osea
tener la misma estructura con direntes valores almacenada en el mismo
archiv)
y para recuperarlos los va leyendo de a uno con metodos tipo .readBoolean.
No se como modificarlo para poder guardar directamente una structura o
almenos lo q necesito es poder guardar un vector string() q necesita tener
alrededor de 100 posiciones.
Si alguien tiene la solucioon o ejemplo del q me pueda guiar(pq el de la
ayuda no me ayuda) se lo agradesco desde ya.



Sugerencia: Para guardar todo el contenido de una estructura, o de un
array de strings, utiliza la Serialización de .Net, que te la guarda toda de
golpe en un fichero:

Imports System.runtime.Serialization
Imports System.runtime.Serialization.Formatters.Binary

Dim fs as New FileStream(fichero)
Dim bf as New BinaryFormatter()
bf.Serialize(fs, objMiEstructura)
fs.Close()

Para recuperar todos los valores:

Dim fs as New FileStream(fichero)
Dim bf as New BinaryFormatter()
objMiEstructura = CType(bf.Deserialize(fs), MiEstructura)
fs.Close()

Está todo escrito de memoria, así que no sé si se me habrña escapado algo
o habré cambiado de orden algunos argumentos, pero más o menos te da una
idea de cómo se hace.


PD: aparte, hay forma de listar y presentar p.e. todas las funciones (q he
creado yo) de una clase??, yyy como le agrego comentarios a estas para
cuando
la quiera usar me tire info como hacen las q vienen ya en el VB.NEt EJ
Archivo.Abrir("este metodo sirve para arbrir un archivo de texto") Algo
asi :)



Para agregar los comentarios, sitúa el cursor encima de la función y
escribe tres comillas simples así: '''. Te creará automáticamente un bloque
de comentarios en xml para que lo rellenes. Esto solo funciona en VS2005, si
usas una versión anterior hay que instalar un "plugin".

Para listar por código todas las funciones de una clase, se usa
System.Reflection: objeto.GetType().GetMethods(...).
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida