private void btnBorrar_Click(object sender, EventArgs e) { textBoxCalculadora.Clear(); textBox1.Clear(); dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); Analizador.LimpiarErrores(); this.Size = new Size(408, 431); }
private void btnIgual_Click(object sender, EventArgs e) { Analizador.LimpiarErrores(); Analizador.LimpiarValores(); string expresion = textBoxCalculadora.Text; //validaciones if (cantidadDeProposicionesValidas(expresion)) { if (Analizador.ValidarExpresion(expresion)) { //configuracion del dataGridValue dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); valorIgual = true; dataGridView1.ReadOnly = true; dataGridView1.DataSource = null; dataGridView1.AllowUserToOrderColumns = false; try { //Analizar expresion expresion = "(" + expresion + ")"; var diccionario = Analizador.AnalizarExpresion(expresion); //recorrer el diccionario e imprimirlo en el datagridview foreach (var item in diccionario) { var nuevaExpresion = ""; var valorById = Analizador.ObtenerValorById(item.Key); if (valorById == null) { nuevaExpresion = item.Key; } else { nuevaExpresion = Analizador.ArmarExpresion(valorById); } dataGridView1.Columns.Add(item.Key, nuevaExpresion); } var cantidad = diccionario.ElementAt(0).Value.Count; int index = 0; var lista = new List <string>(); for (int x = 0; x < cantidad; x++) { for (int i = 0; i < diccionario.Count; i++) { var item = diccionario.ElementAt(i); lista.Add(item.Value[index]); } var vector = lista.ToArray(); dataGridView1.Rows.Add(vector); lista.Clear(); index++; } MostrarErrores(); this.Size = new Size(1328, 431); }catch (Exception err) { MessageBox.Show(err.Message); } } else { MostrarErrores(); } } else { MessageBox.Show("La cantidad de proposiciones están limitadas a 2 como minimo y 6 como maximo\npor favor ingresa una cantidad valida", "Cantidad de proposiciones no valida", MessageBoxButtons.OK, MessageBoxIcon.Error); } }