none
Guardar datos de varios textbox RRS feed

  • Pregunta

  • Hola que tal soy estudiante de ingeniería y me gusta hacer programitas en vb 2010.net acerca de los temas que voy aprendiendo, pero ahora quiero hacer algo un poco mas interesante como guardar los textbox de mi programa en un archivo y despues abrirlo desde donde lo haya guardado, que tenga una extension que yo mismo pueda crear por ejemplo PROBLEMADEPUENTES.jeanpier donde: .jeanpier es mi extension. he buscado muchas posibles soluciones entre ellas he encontrado las bases de datos pero como que no llena mis espectativas por que no es lo que busco, EN CONCLUSION quiero guardar los textbox de mi programa para luego editarlos algo asi como el excel que se guarda y despues se puede abrir para seguir editando. de antemano les doy las gracias por su ayuda.
    viernes, 8 de marzo de 2013 20:24

Respuestas

  • Para poder guardar varios textboxes en un solo archivo, de tal manera que luego al leerlo se puedan volver a separar, hay que decidir alguna forma de codificar el archivo para que quede clara esa separación de valores. Una de las formas más sencillas de hacerlo consiste en decidir un carácter especial que se use para separar los contenidos del archivo, y que obviamente tiene que ser "ilegal" teclearlo dentro de los textboxes. Por ejemplo, supongamos que vams a usar el caracter "|". Entonces, para salvar tres textboxes (por ejemplo), hacemos esto:

    Dim textoAGrabar as String = textBox1.Text & "|" & textBox2.Text & "|" & textBox3.Text
    File.WriteAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier", textoAGrabar)

    Y luego para leerlo, troceamos el texto del archivo por los "|" y metemos cada fragmento en un textbox:

    Dim textoLeido As String = File.ReadAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier")
    Dim partes as String() = textoLeido.Split("|"c)
    textBox1.Text = partes(0)
    textBox2.Text = partes(1)
    textBox3.Text = partes(2)

    Por supuesto, hay muchas más formas de hacerlo, como por ejemplo, meter todos los textos en un List(Of String) y luego serializarlo al archivo, pero la forma descrita más arriba es quizá la más simple.

    • Marcado como respuesta Jeanpier martes, 12 de marzo de 2013 19:25
    lunes, 11 de marzo de 2013 20:43

Todas las respuestas

  • Es muy sencillo. Para guardar el contenido de un textox en un archivo basta con una sola línea de código:

    System.IO.File.WriteAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier", TextBox1.Text)

    Y para volverlo a leer:

    TextBox1.Text = System.IO.File.ReadAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier")

    viernes, 8 de marzo de 2013 23:30
  • Gracias, el lio es que quiero guardar varios textbox y estoy un poco perdido con eso, ahi subi una imagen(sorry no puedo subirla porque dice que Microsoft tiene que verificar mi cuenta para subir imagenes, como hago eso?) lo que quiero es guardar los datos del groupbox DATOS INICIALES para poder editarlos despues, guardarlos con el boton GUARDAR y abrirlos con el boton ABRIR o sino DANDOLE DOBLE CLIC AL ARCHIVO QUE SE GENERO CON EL BOTON GUARDAR QUE TIENE LA EXTENSION .jeanpier, muchas gracias Alberto de antemano y disculpen por las molestias

    lunes, 11 de marzo de 2013 20:21
  • Para poder guardar varios textboxes en un solo archivo, de tal manera que luego al leerlo se puedan volver a separar, hay que decidir alguna forma de codificar el archivo para que quede clara esa separación de valores. Una de las formas más sencillas de hacerlo consiste en decidir un carácter especial que se use para separar los contenidos del archivo, y que obviamente tiene que ser "ilegal" teclearlo dentro de los textboxes. Por ejemplo, supongamos que vams a usar el caracter "|". Entonces, para salvar tres textboxes (por ejemplo), hacemos esto:

    Dim textoAGrabar as String = textBox1.Text & "|" & textBox2.Text & "|" & textBox3.Text
    File.WriteAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier", textoAGrabar)

    Y luego para leerlo, troceamos el texto del archivo por los "|" y metemos cada fragmento en un textbox:

    Dim textoLeido As String = File.ReadAllText("c:\ruta\PROBLEMADEPUENTES.jeanpier")
    Dim partes as String() = textoLeido.Split("|"c)
    textBox1.Text = partes(0)
    textBox2.Text = partes(1)
    textBox3.Text = partes(2)

    Por supuesto, hay muchas más formas de hacerlo, como por ejemplo, meter todos los textos en un List(Of String) y luego serializarlo al archivo, pero la forma descrita más arriba es quizá la más simple.

    • Marcado como respuesta Jeanpier martes, 12 de marzo de 2013 19:25
    lunes, 11 de marzo de 2013 20:43
  • Muchas gracias amigo te pasaste, donde aprendiste todo eso... , me gustaria saber mas, gracias
    • Editado Jeanpier martes, 12 de marzo de 2013 19:26
    martes, 12 de marzo de 2013 19:26