Konwersja do i na odwrót

Dyskusje na temat języka C# oraz biblioteki .NET
techcode
Początkujący
Początkujący
Posty: 10
Dołączył(a): piątek, 26 kwietnia 2013, 11:23

Konwersja do i na odwrót

Post przez techcode »

Mam problem z połączeniem konwersji do czterech systemów. każdy if else testowałem osobno i dobrze konwertował z dec do bin, oct, hex jak i na odwrót.
Mam 4 pola TextBox ale nie mogę tego połączyć aby działało pod jednym przyciskiem.
Próbowałem swich case oraz try cach i nic.
O to kod:

Code: Zaznacz cały

 protected void Button1_Click(object sender, EventArgs e)
        {
            if ((TextBox1.Text =="0") && (TextBox2.Text =="0") && (TextBox3.Text =="0") && (TextBox4.Text =="0"))
            {
                Label6.Text = "Wykonaj konwersję!";
                TextBox1.Enabled = false;
                TextBox2.Enabled = false;
                TextBox3.Enabled = false;
                TextBox4.Enabled = false;
            }
           //#################  Blok konwersji w jedną stronę ######################
            try
            {
                int bin, hex, oct;
                    bin = int.Parse(TextBox1.Text);
                    TextBox4.Text = Convert.ToString(bin, 2);
                    hex = int.Parse(TextBox1.Text);
                    TextBox2.Text = Convert.ToString(hex, 16);
                    oct = int.Parse(TextBox1.Text);
                    TextBox3.Text = Convert.ToString(oct, 8);

            }
            catch (Exception)
            {
              
            }

            int bin, hex, oct;
            if (TextBox1.Text == "")
            {
                TextBox4.Text = "0";
                TextBox3.Text = "0";
                TextBox2.Text = "0";
                TextBox1.Text = "0";


            }
            else
            {
                bin = int.Parse(TextBox1.Text);
                TextBox4.Text = Convert.ToString(bin, 2);
                hex = int.Parse(TextBox1.Text);
                TextBox2.Text = Convert.ToString(hex, 16);
                oct = int.Parse(TextBox1.Text);
                TextBox3.Text = Convert.ToString(oct, 8);

            }

             //z bin na inne systemy
            string binhex, bindec, binoct;
            
            if (TextBox4.Text == "")
            {
                TextBox4.Text = "0";
                TextBox3.Text = "0";
                TextBox2.Text = "0";
                TextBox1.Text = "0";

            }
            else 
            {
                bindec = string.Copy(TextBox4.Text);
                TextBox1.Text = Convert.ToInt32(bindec, 2).ToString();
                binhex = string.Copy(TextBox4.Text);
                TextBox2.Text = Convert.ToString(Convert.ToInt32(TextBox4.Text, 2), 16);
                binoct = string.Copy(TextBox4.Text);
                TextBox3.Text = Convert.ToString(Convert.ToInt32(TextBox4.Text, 2), 8);
            }

            // z octal na inne systemy
            string octdec, octhex, octbin;

            if (TextBox3.Text == "")
            {
                
                TextBox3.Text = "0";
                TextBox4.Text = "0";
                TextBox2.Text = "0";
                TextBox1.Text = "0";

            }
            else
            {
                octdec = string.Copy(TextBox3.Text);
                TextBox1.Text = System.Convert.ToString(Convert.ToInt32(TextBox3.Text, 8), 10);
                octhex = string.Copy(TextBox3.Text);
                TextBox2.Text = System.Convert.ToString(Convert.ToInt32(TextBox3.Text, 8), 16);
                octbin = string.Copy(TextBox3.Text);
                TextBox4.Text = System.Convert.ToString(Convert.ToInt32(TextBox3.Text, 8), 2);
            }

            // z hex na inne systemy
            string hexdec, hexoct, hexbin;

            if (TextBox2.Text == "")
            {
                TextBox2.Text = "0";
                TextBox3.Text = "0";
                TextBox4.Text = "0";
                TextBox1.Text = "0";

            }
            else
            {
                hexdec = string.Copy(TextBox2.Text);
                TextBox1.Text = System.Convert.ToString(Convert.ToInt32(TextBox2.Text, 16), 10);
                hexoct = string.Copy(TextBox2.Text);
                TextBox3.Text = System.Convert.ToString(Convert.ToInt32(TextBox2.Text, 16), 8);
                hexbin = string.Copy(TextBox2.Text);
                TextBox4.Text = System.Convert.ToString(Convert.ToInt32(TextBox2.Text, 16), 2);
            }


          
        }



jak to połączyć aby z dowolnego pola konwertowało za pomocą jednego przycisku?
techcode
Początkujący
Początkujący
Posty: 10
Dołączył(a): piątek, 26 kwietnia 2013, 11:23

Re: Konwersja do i na odwrót

Post przez techcode »

Szkoda, że po dwóch dniach nie można edytować by usunąć, bo już sobie poradziłem. Ale mam inne pytanie. Jeżeli mam pola TextBox ustawione na wyłączone, to jak uaktywnić klikając na textBox?
Np: Wykonałem zadanie i pola sa nieaktywne, chce ponownie dokonać obliczeń to klikam na textBox i ponownie są aktywne.
Jak to zrobić?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Konwersja do i na odwrót

Post przez Morfidon »

Jeśli chodzi Ci o przekazanie skupienia to skorzystaj z funkcji requestFocus():
http://docs.oracle.com/javase/7/docs/ap ... estFocus()
techcode
Początkujący
Początkujący
Posty: 10
Dołączył(a): piątek, 26 kwietnia 2013, 11:23

Re: Konwersja do i na odwrót

Post przez techcode »

Ale link prowadzi do javy a mi chodzi w javascript lub w C#.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Konwersja do i na odwrót

Post przez Morfidon »

http://msdn.microsoft.com/en-us/library/ms743469.aspx
http://www.c-sharpcorner.com/uploadfile ... m-control/

tego typu rzeczy masz rozwiązane setki razy w google po wpisaniu prostej frazy. Jako programista musisz nauczyć się korzystać z wyszukiwarki.
techcode
Początkujący
Początkujący
Posty: 10
Dołączył(a): piątek, 26 kwietnia 2013, 11:23

Re: Konwersja do i na odwrót

Post przez techcode »

Szanowny Panie, z wyszukiwarki to korzystać umiem, a co do focus hmm jakoś nie udaje mi się. Ponieważ poza textBox chce aby button1 uaktywnił mi się. Czyli klikam oblicz, nieaktywne pola i przycisk, gdy najadę myszką na jedno z czterech pól, to następuje aktywacja 4 pól i przycisku.

P.S. Jeżeli Pan ten post odebrał jako złośliwość, pisząc Per Pan, to przepraszam. natomiast przykłady dotyczą metody KeyPress, wiele przykładów widziałem a ja działam na wersji express Visual Studio for web i pod piorunem nie widzę zdarzeń KeyPress.
Post Reply