none
Programación en visual studio C# RRS feed

  • Pregunta

  • Hola, vengo con una duda,me preguntaba si me podrían resolver.

    Estoy desarrollando la programación de un método(Birge vieta) , hasta el momento e creado de manera de dinámica los Texbox y label y me genera la ecuacion deseada segun el grado que tecle el usuario.  tengo problemas para los datos ingresados guardarlos para poder utilizarlo, tenia en mente generar una clase para con los atriburos necesarios para posteriormente genera un objeto para cada dato utilizado me pregunaba si alguien podria ayudarme entendiendo como guardar los datos ingresados para poder manejarlos.

    Este es el código que lleve hasta el momento

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication5
    {
        
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            
           
            private void btncapturar_Click(object sender, EventArgs e)
            {
                int nC, Top = 10, Left = 10;
                
                i
                
                
                for (nC=0;nC< Convert.ToInt16(tbgrado.Text)+1; nC++)
                    {
                        TextBox tb = new TextBox();
                        tb.Name = "tb" + nC.ToString();
                        tb.Width = 50;
                        tb.Height = 30;
                        tb.Top = Top;
                        tb.Left = Left;
                        pnldinamico.Controls.Add(tb);

                        Label lbl = new Label();
                        lbl.Name = "lbl" + nC.ToString();
                        lbl.Top = Top;
                        lbl.Left = Left+60;
                      
                      switch (Convert.ToInt16(tbgrado.Text) -nC )
                          {
                          case 0 :lbl.Text= ""; break;
                          case 1 :lbl.Text="X"; break;
                          default :lbl.Text= "X^"+ (Convert.ToInt16(tbgrado.Text)-nC).ToString();break;

                       

                           }
                       
                      pnldinamico.Controls.Add(lbl);
                              Left+=150;

                       
                    }


                


            }

            private void panel1_Paint(object sender, PaintEventArgs e)
            {

            }

            private void btcalcular_Click(object sender, EventArgs e)
            {
                
                
             
                
                
                
                
                double[] a = new double[10];
                int i = Convert.ToInt16(tbgrado.Text),nC=0;
                lblpolinomio.Text = "Pn(x)=";
                TextBox tb = new TextBox();
                foreach(object obj  in pnldinamico.Controls)
                {
                    if(obj is TextBox)
                    {
                        tb = (TextBox)obj;
                        a[i] = Convert.ToDouble(tb.Text);

                        switch (i) 
                        {
                            case 0: lblpolinomio.Text += a[i].ToString() + ""; break;
                            case 1: lblpolinomio.Text += a[i].ToString() + "x"; break;
                            default: lblpolinomio.Text += a[i].ToString() + "x^" + (Convert.ToInt16(tbgrado.Text) -nC).ToString(); break;



                        }
                        i--;

                    }

                }
            }
        }
    }

    Espero alguien me pueda ayudar  gracias y saludos!

    jueves, 17 de septiembre de 2015 17:52

Respuestas

  • Hola.

    Esos datos puedes guardarlos en una BDD, pero si no quieres algo demaciado extenso puede guardar tus datos dinamicamente en archivos de texto. Puedes crear una clase que los lea y otra que los escriba por ejemplo:

    /// <summary>
    /// Funcion que escribe un archivo de texto, requiere el nombre del archivo con su extension y un contenido
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="MyContent"></param>
    public void escribirarchivo(string Path, string MyContent)
    {
          StreamWriter fileWriter = new StreamWriter(Path);
          fileWriter.WriteLine(MyContent);
          fileWriter.Close();
    }
    
    /// <summary>
    /// Funcion que lee un archivo de texto, requiere el nombre del archivo con su extension, imprime su contenido en consola
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="MyContent"></param>
    public void leerarchivo(string Path)
    {
        using (StreamReader fileReader = new StreamReader(Path))
        {
            Console.WriteLine(fileReader.ReadLine());
        }
        /Si el fichero contiene multiples lineas, se puede usar el metodo StreamReader.ReadLine. repetidamente hasta que acabemos todas las filas.
    
        string fileLine = fileReader.ReadLine();
        while (fileLine != null)
        {
            Console.WriteLine(fileLine);
            fileLine = fileReader.ReadLine();
        }
    }

    Saludos


    "La vida seria mucho mas sencilla si le pudieramos hechar un ojo a su codigo fuente."

    Humberto De la Rosa
    Front END Design, Web Programmer, Android Developer


    Twitter: @bethofantoche
    Blog: Humberto Apps

    jueves, 17 de septiembre de 2015 20:33

Todas las respuestas

  • Hola.

    Esos datos puedes guardarlos en una BDD, pero si no quieres algo demaciado extenso puede guardar tus datos dinamicamente en archivos de texto. Puedes crear una clase que los lea y otra que los escriba por ejemplo:

    /// <summary>
    /// Funcion que escribe un archivo de texto, requiere el nombre del archivo con su extension y un contenido
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="MyContent"></param>
    public void escribirarchivo(string Path, string MyContent)
    {
          StreamWriter fileWriter = new StreamWriter(Path);
          fileWriter.WriteLine(MyContent);
          fileWriter.Close();
    }
    
    /// <summary>
    /// Funcion que lee un archivo de texto, requiere el nombre del archivo con su extension, imprime su contenido en consola
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="MyContent"></param>
    public void leerarchivo(string Path)
    {
        using (StreamReader fileReader = new StreamReader(Path))
        {
            Console.WriteLine(fileReader.ReadLine());
        }
        /Si el fichero contiene multiples lineas, se puede usar el metodo StreamReader.ReadLine. repetidamente hasta que acabemos todas las filas.
    
        string fileLine = fileReader.ReadLine();
        while (fileLine != null)
        {
            Console.WriteLine(fileLine);
            fileLine = fileReader.ReadLine();
        }
    }

    Saludos


    "La vida seria mucho mas sencilla si le pudieramos hechar un ojo a su codigo fuente."

    Humberto De la Rosa
    Front END Design, Web Programmer, Android Developer


    Twitter: @bethofantoche
    Blog: Humberto Apps

    jueves, 17 de septiembre de 2015 20:33
  • Disculpa, tu me podrías facilitar el diagrama de flujo de ese metodo

    Gracias

    sábado, 16 de enero de 2016 20:46