private void guardarComoToolStripMenuItem_Click(object sender, EventArgs e) { Pestania selectTab = Contenedor.SelectedTab as Pestania; string texto = selectTab.Codigo.Text; guardarComo(Text); }
public string guardarComo(string texto) { Pestania selectTab = Contenedor.SelectedTab as Pestania; SaveFileDialog sFD = new SaveFileDialog(); sFD.Title = "Guardar proyecto " + selectTab.Text; sFD.Filter = "Cualquier proyecto (*.*) |*.txt"; sFD.DefaultExt = "txt"; sFD.AddExtension = true; sFD.RestoreDirectory = true; sFD.InitialDirectory = @"H:\LO DEL ESCRITORIO"; if (sFD.ShowDialog() == DialogResult.OK) { selectTab.rutaArchivo = sFD.FileName; StreamWriter fichero = new StreamWriter(selectTab.rutaArchivo); fichero.Write(texto); fichero.Close(); selectTab.Text = sFD.FileName.Substring(sFD.FileName.LastIndexOf("\\") + 1); return(selectTab.rutaArchivo); } else { sFD.Dispose(); sFD = null; return(null); } }
private void agregarError(string caracter, int fila, int columna) { Pestania selectTab = Contenedor.SelectedTab as Pestania; selectTab.tablaDeErrores.Add(new error() { id = numError, caracter = caracter, fila = fila, columna = columna }); numError++; }
private void agregarLexema(string idToken, string lexema, int fila, int columna, string token) { Pestania selectTab = Contenedor.SelectedTab as Pestania; selectTab.tablaDeSimbolos.Add(new lexema() { id = num, idToken = idToken, nombre = lexema, fila = fila, columna = columna, token = token }); num++; }
public void analizadorLecxico(Pestania selectTab) { selectTab.tablaDeSimbolos.Clear(); selectTab.tablaDeErrores.Clear(); string cadena = selectTab.Codigo.Text + "\n"; analizarLenguaje(cadena); selectTab.generarTablaDeSimbolos(); selectTab.generarTablaDeErrores(); }
private void guardarArchivoToolStripMenuItem_Click(object sender, EventArgs e) { Pestania selectTab = Contenedor.SelectedTab as Pestania; string texto = selectTab.Codigo.Text; if (selectTab.rutaArchivo == null) { selectTab.rutaArchivo = guardarComo(texto); } else { StreamWriter fichero = new StreamWriter(selectTab.rutaArchivo); fichero.WriteLine(texto); fichero.Close(); } }
public Pestania nuevaPestania() { int NewTabCount = Contenedor.TabCount; Pestania NewTab; NewTab = new Pestania(this.Contenedor); NewTab.Name = "Nuevo proyecto " + NewTabCount; NewTab.Padding = new System.Windows.Forms.Padding(3); NewTab.TabIndex = NewTabCount; NewTab.Text = "Nuevo proyecto " + NewTabCount; NewTab.UseVisualStyleBackColor = true; Contenedor.Controls.Add(NewTab); Contenedor.SelectedIndex = NewTab.TabIndex; return(NewTab); }
private void btnGuardar_Click(object sender, EventArgs e) { String rutaAux = ""; for (int i = 0; i < listaRuta.Count; i++) { Pestania p = (Pestania)listaRuta[i]; if (p.nombre == tabControl1.SelectedTab.ToString()) { rutaAux = p.ruta; } } if (rutaAux != "") { System.IO.FileInfo fi = new System.IO.FileInfo(ruta); try { fi.Delete(); } catch (System.IO.IOException ex) { Console.WriteLine(ex.Message); } System.IO.StreamWriter streamWriter = new StreamWriter(ruta, true); var rich = (RichTextBox)tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0]; streamWriter.WriteLine(rich.Text); streamWriter.Close(); txtConsola.Text += ">> Archivo guardado correctamente.\n"; } else { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.DefaultExt = "*.sbs"; saveFileDialog1.Filter = "sbs Files|*.sbs"; saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFileDialog1.FileName.Length > 0) { var rich = (RichTextBox)tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0]; rich.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText); } txtConsola.Text += ">> Archivo guardado correctamente.\n"; } }
private void btnAbrir_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "C:\\Users\\Aylin\\Documents"; openFileDialog1.Filter = "txt files (*.txt)|*.txt| SBS files (*.*)|*.sbs"; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; String texto = ""; String nombre = ""; String carpeta = ""; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName); String[] dato = openFileDialog1.FileName.Split('\\'); nombre = dato[dato.Length - 1]; ruta = openFileDialog1.FileName; for (int i = 0; i < dato.Length - 1; i++) { carpeta += dato[i] + "\\"; } texto = sr.ReadToEnd(); sr.Close(); } txtConsola.Text += ">> Archivo abierto correctamente.\n"; Pestania p = new Pestania(); p.nombre = nombre; p.ruta = ruta; p.carpeta = carpeta; listaRuta.Add(p); tabControl1.TabPages.Add(nombre); foreach (TabPage tab in tabControl1.TabPages) { RichTextBox rich = new RichTextBox(); rich.Name = "Tab"; rich.Width = 450; rich.Height = 350; tab.Controls.Add(rich); rich.Text = texto; } var richt = (RichTextBox)tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0]; }
private void cargarPestanaToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog oFD = new OpenFileDialog(); oFD.Title = "Abrir proyecto"; oFD.Filter = "Todos los archivos (*.*)|*.*"; if (oFD.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Pestania NewTab = nuevaPestania(); NewTab.rutaArchivo = oFD.FileName; NewTab.Codigo.Text = System.IO.File.ReadAllText(NewTab.rutaArchivo); NewTab.Text = oFD.SafeFileName; NewTab.Linealizar(); } }
private void compilarToolStripMenuItem_Click(object sender, EventArgs e) { if (Contenedor.TabCount == 2) { Contenedor.SelectedIndex = 0; tabA = Contenedor.SelectedTab as Pestania; analizadorLecxico(tabA); Contenedor.SelectedIndex = 1; tabB = Contenedor.SelectedTab as Pestania; analizadorLecxico(tabB); compilado = true; } else if (Contenedor.TabCount > 2) { List <tab> Tabs = new List <tab>(); for (int i = 0; i < Contenedor.TabCount; i++) { Contenedor.SelectedIndex = i; Tabs.Add(new tab() { numTab = i, nomTab = Contenedor.SelectedTab.Text }); } Seleccion Seleccionar = new Seleccion(Tabs); Seleccionar.Visible = true; Contenedor.SelectedIndex = Seleccionar.Sel("a"); tabA = Contenedor.SelectedTab as Pestania; analizadorLecxico(tabA); Contenedor.SelectedIndex = Seleccionar.Sel("b"); tabB = Contenedor.SelectedTab as Pestania; analizadorLecxico(tabB); compilado = true; } else { MessageBox.Show("Solo existe una pestania", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); } }
public void incluirArchivo(String archivo) { int i = 0; String carpeta = ""; if (listaRuta.Count == 0) { Reporte.agregarMensajeError("No se ha podido incluir el archivo ya que no esta guardado", "Error Semantico", Listas.nodoActual.Token.Location.Line, Listas.nodoActual.Token.Location.Column); return; } for (i = 0; i < listaRuta.Count; i++) //Si la ruta esta vacia { Pestania p = (Pestania)listaRuta[i]; if (p.nombre == nombreTab) { carpeta = p.carpeta; } } if (carpeta == "") { Reporte.agregarMensajeError("No se ha podido incluir el archivo ya que no esta guardado", "Error Semantico", Listas.nodoActual.Token.Location.Line, Listas.nodoActual.Token.Location.Column); return; } else { String ruta = carpeta + archivo; String texto = ""; try { System.IO.StreamReader sr = new System.IO.StreamReader(ruta); ruta = openFileDialog1.FileName; texto = sr.ReadToEnd(); sr.Close(); Pestania p = new Pestania(); p.nombre = archivo; p.ruta = ruta; p.carpeta = carpeta; listaRuta.Add(p); MessageBox.Show(archivo); txtConsola.Text += "\n* * * * * * * * " + archivo + " * * * * * * * "; ParseTreeNode resultado = Analizador.analizar(texto); if (resultado != null) { Listas.archivo.Push(archivo); MessageBox.Show("El arbol fue construido correctamente"); PrimerRecorrido.action(resultado); imprimirVariables(); imprimir(); Listas.archivo.Pop(); } else { MessageBox.Show("ERROR: Deberia de revisar la cadena de entrada"); } } catch (Exception e) { MessageBox.Show("Error;"); } } }