예제 #1
0
        private void Txt_Numero_TextChanged(object sender, EventArgs e)
        {
            if (Txt_Numero.Text == "")
            {
                //MessageBox.Show("Informme o Número Romano que deseja converter!", "Conversor", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            int  inicio    = 0;
            bool resultado = false;

            if (Txt_Numero.Text.Length > 1)
            {
                inicio = Txt_Numero.Text.Length - 1;
            }
            else
            {
                inicio = 0;
            }

            int i = 0;

            for (i = 0; i <= _listaLetrasRomanas.Count - 1; i++)
            {
                if (_listaLetrasRomanas[i] == Txt_Numero.Text.Substring(inicio, 1).ToUpper())
                {
                    resultado = true;
                    break;
                }
                else
                {
                    resultado = false;
                }
            }

            if (resultado == false)
            {
                MessageBox.Show("A letra informada não é válida!", "Conversor", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Txt_Numero.Clear();
                Txt_Resultado.Clear();
                return;
            }
        }
예제 #2
0
        private void Btn_Converter_Click(object sender, EventArgs e)
        {
            if (Txt_Numero.Text == "")
            {
                MessageBox.Show("Informme o Número Romano que deseja converter!", "Conversor", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            Txt_Resultado.Clear();

            bool retorno = ValidaNumeroRomano();

            if (retorno == false)
            {
                Txt_Numero.Clear();
                Txt_Resultado.Clear();

                MessageBox.Show("O número romano informado é inválido!", "Conversor", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }


            int contador = 0;

            if ((Txt_Numero.Text.Length - 1) == 0)
            {
                for (int i = 0; i <= _listaLetrasRomanas.Count - 1; i++)
                {
                    if (_listaLetrasRomanas[i] == Txt_Numero.Text.Substring(contador, 1).ToUpper())
                    {
                        Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                        break;
                    }
                }
            }
            else
            {
                while (contador <= Txt_Numero.Text.Length - 1)
                {
                    for (int i = 0; i <= _listaLetrasRomanas.Count - 1; i++)
                    {
                        if (_listaLetrasRomanas[i] == Txt_Numero.Text.Substring(contador, 1).ToUpper())
                        {
                            if ((_listaLetrasRomanas[i] == "V") || (_listaLetrasRomanas[i] == "X"))
                            {
                                if (contador != 0)
                                {
                                    if (Txt_Numero.Text.Substring(contador - 1, 1).ToUpper() == "I")
                                    {
                                        Txt_Resultado.Text = Convert.ToString((ValInt(Txt_Resultado.Text) - 2) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                    else
                                    {
                                        Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                }
                                else
                                {
                                    Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                    break;
                                }
                            }

                            else if ((_listaLetrasRomanas[i] == "L") || (_listaLetrasRomanas[i] == "C"))
                            {
                                if (contador != 0)
                                {
                                    if (Txt_Numero.Text.Substring(contador - 1, 1).ToUpper() == "X")
                                    {
                                        Txt_Resultado.Text = Convert.ToString((ValInt(Txt_Resultado.Text) - 20) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                    else
                                    {
                                        Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                }
                                else
                                {
                                    Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                    break;
                                }
                            }

                            else if ((_listaLetrasRomanas[i] == "D") || (_listaLetrasRomanas[i] == "M"))
                            {
                                if (contador != 0)
                                {
                                    if (Txt_Numero.Text.Substring(contador - 1, 1).ToUpper() == "C")
                                    {
                                        Txt_Resultado.Text = Convert.ToString((ValInt(Txt_Resultado.Text) - 200) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                    else
                                    {
                                        Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                        break;
                                    }
                                }
                                else
                                {
                                    Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                    break;
                                }
                            }

                            else
                            {
                                Txt_Resultado.Text = Convert.ToString(ValInt(Txt_Resultado.Text) + _listaNumerosInteiros[i]);

                                break;
                            }
                        }
                    }

                    contador += 1;
                }
            }
        }