none
Variable con valor no deseado RRS feed

  • Pregunta

  • Hola tengo el siguiente codigo en Microsoft visual C# Express 2010:

    public partial class Form_principal : Form, Interface_Paso //Añado Interface_PAso para la conexión de datos
        {
            public Form_principal()
            {
                InitializeComponent();
            }
            /*Creo las varialbes publicas que necesitare despues*/
            public double Xext1=234;
            #region Traigo los datos necesarios de Parametros Viña
            public void Llevar(double a, double b, double c, double d, double e, double f)
            {
                label_Distancia_entre_cepas_dato.Text = e.ToString();
                label_Distancia_entre_almantas_dato.Text = f.ToString();
                double Xext1 = a; a trae valores desde otra clase  .cs
                double Yext1 = b;
                double Xext2 = c;
                double Yext2 = d;
                
            }
                   
            #region Recibe los datos y hace todo el proceso
           
            /*METO ESTE BOTON PARA HACER PRUEBAS*/
            private void button1_Click(object sender, EventArgs e)
            {
                label_prueba.Text = Xext1.ToString(); Al colocar este label de prueba me da valor 0. ¿Que puede pasar?

    EL label de prueba me da valor 0 y debería dar lo que trae a que diferente a 0 o al menos el valor 234.

    ¿Que puede pasar?

    Gracias


    Alfonso

    jueves, 14 de junio de 2012 22:32

Todas las respuestas

  • El caso de las automáticas que declaras dentro del bloque Llevar, es claro que no serán visibles fuera de allí. Xext1 no es la misma variable dentro que afuera.

    Lo del 234, no parece tener explicación dentro del código que muestras.

    jueves, 14 de junio de 2012 23:51
  • Luis XCII: El caso de las automáticas que declaras dentro del bloque Llevar, es claro que no serán visibles fuera de allí. Xext1 no es la misma variable dentro que afuera.

    Como hago para que sean visibles fuera de alli, no me deja declararla public.

    Gracias

    viernes, 15 de junio de 2012 6:44
  • Hola,

    prueba con este código:

    public partial class Form1 : Form
        {
            public double Xext1 = 555;
            public double Yext1 = 0;
            public double Xext2 = 0;
            public double Yext2 = 0;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            #region Traigo los datos necesarios de Parametros Viña
            public void Llevar(double a, double b, double c, double d, double e, double f)
            {
                label_Distancia_entre_cepas_dato.Text = e.ToString();
                label_Distancia_entre_almantas_dato.Text = f.ToString();
                Xext1 = a; // a trae valores desde otra clase  .cs
                Yext1 = b;
                Xext2 = c;
                Yext2 = d;
                
            }
            #endregion				//TE FALTABA CERRAR ESTA REGION
            
            #region Recibe los datos y hace todo el proceso
    
            /*METO ESTE BOTON PARA HACER PRUEBAS*/
            private void button1_Click(object sender, EventArgs e)
            {
                label_prueba.Text = Xext1.ToString();
            }
            #endregion
    
        }

    Por una parte he declarado las variables de forma que puedan ser accedidas desde cualquier método. Cuidado no declares variables con el mismo nombre, puede dar lugar a confusión.

    Por otra faltaba cerrar la primera #region. Espero que te sea de ayuda,

    Saludos,


    Miguel Alonso - Desarrollador

    • Propuesto como respuesta cutuche viernes, 15 de junio de 2012 8:47
    viernes, 15 de junio de 2012 8:21