private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { string[] codigo; switch (e.ClickedItem.AccessibleName) { case "Abrir": #region Abrir if (openFileProgram.ShowDialog().Equals(DialogResult.OK)) { this.limpiaDataGrids(); if (extendida) { this.ensamblador = new EnsambladorSICExtendida(openFileProgram.FileName); } else { this.ensamblador = new EnsambladorSICEstandar(openFileProgram.FileName); } for (int i = 0; i < this.ensamblador.Archivo.Count; i++) { codigo = this.ensamblador.Archivo[i].Split('\t'); if (codigo.Length == 3) { this.dataGridViewFuente.Rows.Add(i + 1, codigo[0], codigo[1], codigo[2]); } else if (codigo.Length == 2) { this.dataGridViewFuente.Rows.Add(i + 1, codigo[0], codigo[1], ""); } else { this.dataGridViewFuente.Rows.Add(i + 1, "", "", ""); } } } #endregion break; case "Analizar": #region Analizar if (this.ensamblador != null) { this.dataGridViewIntermedio.Rows.Clear(); this.ensamblador.paso1(this.dataGridViewIntermedio); this.ensamblador.Tamaño = MetodosAuxiliares.calculaTamaño(this.ensamblador.Intermedio.First(), this.ensamblador.Intermedio.Last()); this.llenaTabSimYErrores(); MetodosAuxiliares.grabaTabSim(this.ensamblador.Nombre, this.ensamblador.TabSim); MetodosAuxiliares.grabaIntermedio(this.ensamblador.Nombre, this.ensamblador.Intermedio); if (this.ensamblador.Errores.Count != 0) { MetodosAuxiliares.grabaErrores(this.ensamblador.Nombre, this.ensamblador.Errores); } } else { MessageBox.Show("Por favor abra un archivo primero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } #endregion break; case "ArchivoObj": #region Archivo Obj if (this.ensamblador != null) { if (this.ensamblador.Paso1Logrado) { this.ensamblador.paso2(this.dataGridViewIntermedio); this.richTextBoxObj.Text += "\n"; foreach (string linea in this.ensamblador.ArchivoObj) { this.richTextBoxObj.Text += linea + "\n"; } MetodosAuxiliares.grabaObj(this.ensamblador.Nombre, this.ensamblador.ArchivoObj); } } else { MessageBox.Show("Por favor abra un archivo primero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } #endregion break; case "Texto": EditorDeCodigo editor; editor = new EditorDeCodigo(this.extendida); editor.ShowDialog(); break; case "EjecutaObj": Ejecucion ejecucion; ejecucion = new Ejecucion(); ejecucion.ShowDialog(); break; case "Cambio": this.seleccionaArquitectura(); break; } }