Beispiel #1
0
 /// <summary>
 /// Incializa todo el formulario
 /// </summary>
 public Main()
 {
     InitializeComponent();
     TxtArea.Text = "  PRIMERA PRACTICA DE LABORATORIO" + Environment.NewLine + "© LP-CLOUD [Lenguajes Formales y de Programación] 1S 2018" + Environment.NewLine;
     pdf          = new ListaSimple("PDF");
     fila         = new ListaSimple("Fila");
     token        = new ListaSimple("Token");
     texto        = new Cola("Texto");
     imagen       = new Cola("Imagen");
     tabla        = new Cola("Tabla");
     err          = new ListaSimple("Error");
     ///Agrega SFOG<< y coloca el puntero al final
     TxtArea.Text += Environment.NewLine + iniciales;
     TxtArea.Select(TxtArea.Text.Length, 0);
 }
Beispiel #2
0
        /// <summary>
        /// Controla la acción de las teclas Enter, Backspace y Tab
        /// Enter -> Añade un SFOG>>> y elimina el último > , esto ayuda a colocar el cursor al final de la cadena y que se muestre de la forma SFOG>>
        /// Backspace -> Verifica que la última línea se mayor a 6 caracteres (de la cadena SFOG>>) quita 1 caracter y coloca al final de la cadena el cursor
        /// Tab -> Evita la acción de Tabular
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TxtArea_KeyPress(object sender, KeyPressEventArgs e)
        {
            String[] lineaCodigo = TxtArea.Lines;
            int      rowsCodigo  = lineaCodigo.Length;
            int      lenCodigo   = lineaCodigo[rowsCodigo - 1].Length;

            //Enter
            if (e.KeyChar == Convert.ToChar(Keys.Enter))
            {
                e.Handled = true;
                if (lenCodigo > 6)
                {
                    //Obtiene la cadena a Escanear
                    String cadenaEscanear = lineaCodigo[rowsCodigo - 1].Substring(iniciales.Length);
                    //Manda al analizador toda esta onda
                    ListaSimple analizador = new Lenguaje().AnalizarCadena(cadenaEscanear);
                    //Guarda la cadena
                    Cola AEjecutar = GuardarTokens(analizador);
                    //Determina si la cadena se ejecuta o no
                    if (Escanear(analizador))
                    {
                        //Ejecuta la cadena
                        EjecutarToken(AEjecutar);
                    }
                }
                NuevaLinea();
            }
            //Backspace
            else if (e.KeyChar == Convert.ToChar(Keys.Back))
            {
                e.Handled = true;
                //Coloca el cursor al final del txtbox
                if (lenCodigo > iniciales.Length)
                {
                    //Elimina un caracter del final de la última linea
                    TxtArea.Text = TxtArea.Text.Substring(0, TxtArea.Text.Length - 1);
                }
            }
            //Tabular
            else if (e.KeyChar == Convert.ToChar(Keys.Tab))
            {
                e.Handled = true;
            }
            //Coloca el cursor al final del txtbox
            TxtArea.Focus();
            TxtArea.Select(TxtArea.Text.Length, 0);
            TxtArea.ScrollToCaret();
        }