![]() |
| |||
| Hola, necesito ayuda sobre serializacion, si grabo en un archivo los valores de una estructura despues como los puedo leer acomodando cada valor de cada miembro de la estructura en el lugar que le corresponde? este es el codigo que utilizo para escribir en el archivo: struct Registro { public string Nombre; public int Edad; public int Registro; } Registro[] ListaRegistros = new Registro[10]; .... // todo el proceso de captura de cada uno de los registros // ahora se guarda la lista de estructuras registro en el archivo Registro.txt using (System.IO.FileStream fs = System.IO.File.Create("Registro.txt", 1024)) { foreach (Registro reg in ListaRegistros) { byte[] info = new System.Text.UTF8Encoding(true).GetBytes("Nombre: " + ListaRegistros.Nombre + " Edad: " + ListaRegistros.Edad.ToString() + " Registro: " + ListaRegistros.Registro.ToString()); fs.Write(info, 0, info.Length); } } Todo funciona bien y guarda todos los registros en el archivo, pero ahora mi pregunta es como despues leer ese archivo y acomodar cada registro en una estructura registro es decir crear la lista ListaRegistros pero cargandole la informacion de los regitros del archivo en cada registro correspondiente. Si alguien me puede ayudar gracias. Ademas nose si la serializacion es tambien parte de C#. Gracias |
| | ||||
| ||||
| |
| |||
| "daniel" <samus_amp***hotmail.com> wrote in message news:uki428KJIHA.5328***TK2MSFTNGP05.phx.gbl... > Hola, necesito ayuda sobre serializacion, si grabo en un archivo los > valores de una estructura despues como los puedo leer acomodando cada > valor de cada miembro de la estructura en el lugar que le corresponde? > este es el codigo que utilizo para escribir en el archivo: > > struct Registro > { > public string Nombre; > public int Edad; > public int Registro; > } > > Registro[] ListaRegistros = new Registro[10]; > [... grabación paso a paso de los datos ...] > Ademas nose si la serializacion es tambien parte de C#. Gracias En el Framework hay librerías de serialización que te pueden resolver el problema sin programar tanto. Hay una serialización nativa que realizan las clases BinayFormatter y SoapFormatter, y otra en Xml que usa el XmlSerializer pero solo está en el Framework 2.0. Suponiendo que uses la binaria, lo primero necesitarías marcar con el atributo [Serializable] tu clase, y luego crear un BinaryFormatter para serializar y deserializar: using System.Runtime.Serialization.Formatters.Binary; [Serializable] struct Registro { public string Nombre; public int Edad; public int Registro; } Registro[] ListaRegistros = new Registro[10]; //Para serializar: BinaryFormatter bf = new BinaryFormatter(); using (System.IO.FileStream fs = System.IO.File.Create("Registro.txt")) { bf.Serialize(fs, ListaRegistros); } //Para deserializar: BinaryFormatter bf = new BinaryFormatter(); using (System.IO.FileStream fs = System.IO.File.Open("Registro.txt", FileMode.Open)) { ListaRegistros = (Registro[]) bf.Deserialize(fs); } |
| |||
| Gracias Alberto resolvi el problema con tu ayuda, pero se me presento otro problema, como puedo serializar una estructura de tipo Color (hablando claro de la estructura del Framework) ? "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org> escribió en el mensaje de noticias news:OCovOIQJIHA.5400***TK2MSFTNGP04.phx.gbl... > "daniel" <samus_amp***hotmail.com> wrote in message > news:uki428KJIHA.5328***TK2MSFTNGP05.phx.gbl... >> Hola, necesito ayuda sobre serializacion, si grabo en un archivo los >> valores de una estructura despues como los puedo leer acomodando cada >> valor de cada miembro de la estructura en el lugar que le corresponde? >> este es el codigo que utilizo para escribir en el archivo: >> >> struct Registro >> { >> public string Nombre; >> public int Edad; >> public int Registro; >> } >> >> Registro[] ListaRegistros = new Registro[10]; >> [... grabación paso a paso de los datos ...] >> Ademas nose si la serializacion es tambien parte de C#. Gracias > > En el Framework hay librerías de serialización que te pueden resolver > el problema sin programar tanto. Hay una serialización nativa que realizan > las clases BinayFormatter y SoapFormatter, y otra en Xml que usa el > XmlSerializer pero solo está en el Framework 2.0. > > Suponiendo que uses la binaria, lo primero necesitarías marcar con el > atributo [Serializable] tu clase, y luego crear un BinaryFormatter para > serializar y deserializar: > > using System.Runtime.Serialization.Formatters.Binary; > > [Serializable] > struct Registro > { > public string Nombre; > public int Edad; > public int Registro; > } > > Registro[] ListaRegistros = new Registro[10]; > > //Para serializar: > BinaryFormatter bf = new BinaryFormatter(); > using (System.IO.FileStream fs = System.IO.File.Create("Registro.txt")) > { > bf.Serialize(fs, ListaRegistros); > } > > //Para deserializar: > BinaryFormatter bf = new BinaryFormatter(); > using (System.IO.FileStream fs = System.IO.File.Open("Registro.txt", > FileMode.Open)) > { > ListaRegistros = (Registro[]) bf.Deserialize(fs); > } > > |
| |||
| "daniel" <samus_amp***hotmail.com> wrote in message news:OjUEcMVJIHA.5468***TK2MSFTNGP05.phx.gbl... > Gracias Alberto resolvi el problema con tu ayuda, pero se me presento otro > problema, como puedo serializar una estructura de tipo Color (hablando > claro de la estructura del Framework) ? System.Drawing.Color es [Serializable]. Se debería salvar sin ningún problema si usas como en el ejemplo anterior un BinaryFormatter para serializarlo (y se serializa automáticamente si está dentro de cualquier clase Serializable que contenga campos de tipo Color). |
| |||
| Otravez gracias Alberto tienes razon sobre la estrctura Color de System.Drawing, lo que pasa es que mi error fue no darme cuenta sobre que tipo de estructura de Color estaba utilizando es decir trataba de serializar una estructura de tipo Microsoft.Xna.Framework.Graphics la cual no es serializable, pero bueno, gracias otravez. "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org> escribió en el mensaje de noticias news:u%230cSzWJIHA.3516***TK2MSFTNGP02.phx.gbl... > "daniel" <samus_amp***hotmail.com> wrote in message > news:OjUEcMVJIHA.5468***TK2MSFTNGP05.phx.gbl... >> Gracias Alberto resolvi el problema con tu ayuda, pero se me presento >> otro problema, como puedo serializar una estructura de tipo Color >> (hablando claro de la estructura del Framework) ? > > System.Drawing.Color es [Serializable]. Se debería salvar sin ningún > problema si usas como en el ejemplo anterior un BinaryFormatter para > serializarlo (y se serializa automáticamente si está dentro de cualquier > clase Serializable que contenga campos de tipo Color). > |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Serializacion | xtian | Newsgroup microsoft.public.es.dotnet.vb | 0 | 13-02-2009 22:11:17 |
| Serializacion XML | Mauricio R. Molinero Quiroz | Newsgroup microsoft.public.es.vfoxpro | 2 | 23-01-2009 20:08:43 |
| Serializacion | Carlos Maggiotti | Newsgroup microsoft.public.es.vsnet | 0 | 23-06-2006 19:11:38 |
| Excel - Serialización | Segundo Serrano | Newsgroup microsoft.public.es.xml | 0 | 18-03-2006 21:41:15 |
| Serialización en servicios web xml | Salvador Sarabia Orea | Newsgroup microsoft.public.es.xml | 0 | 05-11-2003 18:28:01 |