コード例 #1
0
        private void MuestraSigPos(Arbol.Arbol arbol)
        {
            this.dGVSigPos.Rows.Clear();
            this.dGVSigPos.DefaultCellStyle.Font = new Font("Tahoma", 11);
            int i = 0;

            if (arbol != null)
            {
                var hojas = (from h in arbol.GetNodos where h.GetType() == typeof(Hoja)select(Hoja) h).ToArray();
                foreach (var pos in hojas)
                {
                    string agrega = "";
                    for (int j = 0; j < pos.SigPos.Length; j++)
                    {
                        if (j + 1 == pos.SigPos.Length)
                        {
                            agrega += pos.SigPos[j].ToString();
                        }
                        else
                        {
                            agrega += pos.SigPos[j].ToString() + " ,";
                        }
                    }
                    this.dGVSigPos.Rows.Add(pos.Numero.ToString(), agrega);
                }
            }
        }
コード例 #2
0
        private void btnArbol_Click(object sender, EventArgs e)
        {
            try
            {
                var arbol = new Arbol.Arbol(this.rTxtBPInversa.Text);
                var afd   = new AFD.Afd(arbol);
                GrafoNodos = afd.GetGraph();

                MuestraSigPos(arbol);
                PopulateTreeViewWithAfd(GrafoNodos, this.rTxtBPInversa.Text);
                LlenaArbol(arbol.Cabeza);
                //PintaAfd(afd.GetGraph());
                this.btnAFD.Enabled = true;
            }
            catch (Exception)
            {
                MessageBox.Show("Error al generar arbol", "Compiladores e Interpretes A", MessageBoxButtons.OK);
            }
        }