elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Eleкtro)
| | |-+  Crear un boton para guardar Visual C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear un boton para guardar Visual C#  (Leído 4,010 veces)
carlangasds

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Crear un boton para guardar Visual C#
« en: 15 Enero 2014, 23:15 »

Hola, quisiera saber como hacer un botón para guardar los datos (no estoy usando ninguna basa de datos) por ejemplo



Asigno los valores y supongamos que queremos cambiar el valor de la papa entonces lo cambiamos, listo se ah cambiado el valor de la papa pero ahora cuando cerramos el programa y volvemos a entrar los valores que asignamos han desaparecido. ¿Como puedo hacer para que los valores se queden guardados?


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.620


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Crear un boton para guardar Visual C#
« Respuesta #1 en: 15 Enero 2014, 23:25 »

pues no hay muchas opciones, o usas base de datos o un archivo de texto.

saludos.


En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
El Benjo


Desconectado Desconectado

Mensajes: 382



Ver Perfil WWW
Re: Crear un boton para guardar Visual C#
« Respuesta #2 en: 15 Enero 2014, 23:44 »

Además de las opciones que te mencionan arriba también puedes utilizar My.Settings para guardar variables dentro de tu aplicación y cuyos valores estarán ahí la próxima vez que la aplicación se ejecute.

http://msdn.microsoft.com/en-us/library/saa62613.aspx

Si optas por utilizar la opción del archivo entonces puede ser tan sencillo como lo siguiente:

Guardar valoresCargar valores
· Abres el archivo
· Guardas todos los valores (uno por linea)
· Cierras el archivo
· Abres el archivo
· Lees los valores una línea a la vez y los asignas a la variable correspondiente
· Cierras el archivo

A menos que vayas a trabajar con más de un archivo te recomiendo que utilices My.Settings De esta manera no tendrás que preocuparte de mover el otro archivo junto con tu aplicación.
En línea

Sí hay un mejor lenguaje y es ese con el que puedes desarrollar tus objetivos. Desde luego, ya que estos tienden a ser subjetivos (personales), no es el mismo lenguaje para todos.
carlangasds

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Crear un boton para guardar Visual C#
« Respuesta #3 en: 16 Enero 2014, 00:16 »

Ok, intentare la de My.Settings :D
En línea

Eleкtro
Novato Astral y
Moderador Global
***
Conectado Conectado

Mensajes: 8.988


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Crear un boton para guardar Visual C#
« Respuesta #4 en: 16 Enero 2014, 00:46 »

también puedes utilizar My.Settings para guardar variables dentro de tu aplicación y cuyos valores estarán ahí la próxima vez que la aplicación se ejecute.

Añado al comentario del compañero @ElBenjo:

...cuyos valores estarán ahí la próxima vez que la aplicación se ejecute, siempre que el executable no se renombre, ni se haga una actualización o reemplazo del executable, ni otras cosas.

No me gusta la infraestructura de My.Settings, no es fiable ni muy práctica en varios escenarios, como en este caso, aunque se pueden almacenar colecciones de Strings yo diría que My.Settings no fue pensado para grandes cosas como administrar una base de datos de un "comercio".

Yo optaría por una base de datos en archivo de texto, XML (por ejemplo), ya que es un lenguaje que está soportado en VS a la perfección y se pueden hacer querys de forma sencilla, quedando así el archivo:

db.xml
Código
  1. <?xml version="1.0" encoding="Windows-1252"?>
  2. <!--Mi base de datos-->
  3. <Verduras>
  4.    <Verdura><Nombre>Cebolla</Nombre><Precio>15</Precio></Verdura>
  5.    <Verdura><Nombre>Chile</Nombre><Precio>25</Precio></Verdura>
  6.    <Verdura><Nombre>Limón</Nombre><Precio>25</Precio></Verdura>
  7.    <Verdura><Nombre>Papa</Nombre><Precio>18</Precio></Verdura>
  8.    <Verdura><Nombre>Plátano</Nombre><Precio>10</Precio></Verdura>
  9.    <Verdura><Nombre>Tomate</Nombre><Precio>27</Precio></Verdura>
  10. </Verduras>

...Puedes administrar los atributos de la manera que prefieras, y también puedes identar los elementos... depende de gustos.

Pudiendo hacer cosas como esta en .NET:

Código
  1.        Dim Verduras = From Verdura As XElement
  2.                       In XDoc.<Verduras>.<Verdura>
  3.                       Select New With
  4.                              {
  5.                                  Verdura.<Nombre>.Value,
  6.                                  Verdura.<Precio>.Value
  7.                              }
  8.  
  9.        For Each Verdura In Verduras
  10.  
  11.            MsgBox(String.Format("Nombre: {0}; Precio: {1}",
  12.                                 Fruta.Nombre,
  13.                                 Fruta.Precio))
  14.  
  15.        Next Verdura

( puedes usar un convertidor online del lenguaje VB.NET <> CSharp , lo que hice fue símplemente crear un type anónimo).

...Y para modificar un precio, simplemente actualizas el atributo y guardas los cambios en el archivo.

En el peor de los casos si te parece dificil puedes optar por algo mucho más básico, un archivo de texto delimitado (CSV), que también se puede manejar bien y te será más facil si no manejas XML ni MySql, pero si al final optases por usar un archivo delimitado por comas (CSV) y si te importa algo el rendimiento de tu app entonces te sugiero (es más, te lo impongo por ley está prohibición) que no uses el método TextFieldParser del antiguo VB6, eso es lo peor que puedes hacer, es puro Left, Mid, y otras ascadas de las antiguas técnicas de programación; en su defecto puedes usar un simple String.Split, repito, esto tenlo en cuenta sólamente si te importa lo más mínimo el rendimiento de tu app y no quieres que te tarde 10 segundos en parsear un simple texto.


PD: Porfavor que alguien mueva esto a .NET no? :P


Saludos!
« Última modificación: 16 Enero 2014, 01:17 por Eleкtro » En línea


carlangasds

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Crear un boton para guardar Visual C#
« Respuesta #5 en: 16 Enero 2014, 06:31 »

Listo.  ;D
Asi quedo el codigo:

Para guardar

Citar
        private void button7_Click(object sender, EventArgs e)
        {
            XmlWriter w = XmlWriter.Create(@"C:\xmle\verduras.xml");
                w.WriteStartElement("Verduras");
                w.WriteElementString("Tomate", textBox1.Text.ToString());
                w.WriteElementString("Limon", textBox2.Text.ToString());
                w.WriteElementString("Papa", textBox3.Text.ToString());
                w.WriteElementString("Cebolla", textBox4.Text.ToString());
                w.WriteElementString("Platano", textBox5.Text.ToString());
                w.WriteEndElement();
                w.Close();
                MessageBox.Show("Se han guardado correctamente los precio");

        }

Para Mostrar

Citar
XmlReader r = XmlReader.Create(@"C:\xmle\verduras.xml");
                r.ReadStartElement("Verduras");
                textBox1.Text = r.ReadElementContentAsString();
                textBox2.Text = r.ReadElementContentAsString();
                textBox3.Text = r.ReadElementContentAsString();
                textBox4.Text = r.ReadElementContentAsString();
                textBox5.Text = r.ReadElementContentAsString();
                r.Close();
« Última modificación: 16 Enero 2014, 22:41 por carlangasds » En línea

Eleкtro
Novato Astral y
Moderador Global
***
Conectado Conectado

Mensajes: 8.988


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Crear un boton para guardar Visual C#
« Respuesta #6 en: 17 Enero 2014, 00:55 »

Genial, viste que orientado y eficaz usando XML :)

Salu2!
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines