Exemplo n.º 1
0
        private void BotónEmpezar_Click(object sender, System.EventArgs e)
        {
            _programa = _constructor.Construir(Código.Text);

            if (!_programa.Declaración.Correcto)
            {
                Código.Select(_programa.Declaración.Error.InicioDeInstrucción, _programa.Declaración.Error.LongitudDeInstrucción);
                Código.ScrollToCaret();
                Código.SelectionBackColor = Color.Red;

                Estado.Text = _programa.Declaración.Error.Mensaje;
                return;
            }

            var siguienteInstrucción = _programa.SiguienteInstrucción;

            if (siguienteInstrucción != null)
            {
                Estado.Text          = "En depurando";
                btnSiguiente.Enabled = true;
                _visualizador        = new VisualizadorDeContextoDePrograma(_programa);
                VisualizadorDeContextoDeEjecución.SelectedObject = _visualizador;

                Código.Select(siguienteInstrucción.Inicio, siguienteInstrucción.Longitud);
                Código.ScrollToCaret();
                Código.SelectionBackColor = Color.Yellow;
            }
        }
Exemplo n.º 2
0
        private void BotónSiguiente_Click(object sender, System.EventArgs e)
        {
            _programa.ContextoActual.EjecutarSiguienteInstrucción();
            Código.SelectionBackColor = Color.White;

            if (_programa.SiguienteInstrucción != null)
            {
                VisualizadorDeContextoDeEjecución.SelectedObject = _visualizador;
                Código.Select(_programa.SiguienteInstrucción.Inicio, _programa.SiguienteInstrucción.Longitud);
                Código.ScrollToCaret();
                Código.SelectionBackColor = Color.Yellow;
            }
            else
            {
                VisualizadorDeContextoDeEjecución.SelectedObject = null;
                btnSiguiente.Enabled = false;
                Código.Select(0, 0);
                Estado.Text = string.Empty;
            }
        }