Esempio n. 1
0
        public void BuscarErroresGlobal(EjecutarSBS start)
        {
            if (!Directory.Exists(start.Global.RutaImagenes))
            {
                MessageBox.Show("La carpeta de imagenes " + start.Global.RutaImagenes + " no existe, se utilizara por defecto " + Constante.DefaultDefineRuta, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            foreach (Simbolo simbolo in start.Global.TablaSimbolo)
            {
                simbolo.RutaArchivo      = start.Ruta;
                simbolo.Ambito.Incerteza = start.Global.Incerteza;
                if (Directory.Exists(start.Global.RutaImagenes))
                {
                    simbolo.Ambito.RutaImagenes = start.Global.RutaImagenes;
                }
                else
                {
                    //MessageBox.Show("La carpeta de imagenes " + Inicio.Global.RutaImagenes + " no existe, se utilizara por defecto " + Constante.DefaultDefineRuta,"Alerta",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                    simbolo.Ambito.RutaImagenes = Constante.DefaultDefineRuta;
                }

                simbolo.Ambito.RutaArchivo = start.Ruta;
                if (simbolo.Ambito.TablaSimbolo.Count > 0)
                {
                    foreach (Simbolo simbolo2 in simbolo.Ambito.TablaSimbolo)
                    {
                        BuscarErroresAmbitos(simbolo2, start.Ruta, start.Global.Incerteza, simbolo.Ambito.RutaImagenes);
                    }
                }
            }
        }
Esempio n. 2
0
        public void LlenarIncluyes(EjecutarSBS arc)
        {
            foreach (EjecutarSBS archiv in arc.Archivos)
            {
                BuscarErroresGlobal(archiv);
                LlenarIncluyes(archiv);
                //metemos las variables globales a la tabla y los metodos del primer archivo
                foreach (Simbolo global in archiv.Global.TablaSimbolo)
                {
                    switch (global.Rol)
                    {
                    case Constante.DECLARACION:
                        if (!TablaVariables.BuscarNombre(global.Nombre))
                        {
                            EjecutarDeclaracion(global);
                        }
                        else
                        {
                            TabError error = new TabError();
                            error.InsertarFila(Constante.ErroEjecucion, "Ya hay declarado un metodo o variable con el nombre " + global.Nombre, global.RutaArchivo, global.Fila.ToString(), global.Columna.ToString());
                            TitusNotifiaciones.setDatosErrores(error);
                        }
                        break;



                    case Constante.FUNCION:
                        if (TablaVariables.BuscarVariable(global.Nombre) == null)
                        {
                            if (TablaVariables.BuscarMetodo(global.Nombre, (FFuncion)global.Objeto) == false)
                            {
                                TablaVariables.Tabla.Add(new Variables(global.Tipo, global.Nombre, Constante.TMetodo, global.Objeto, global.Ambito, global.Fila, global.Columna));
                            }
                            else
                            {
                                TabError error = new TabError();
                                error.InsertarFila(Constante.ErroEjecucion, "Ya hay declarado un metodo con el nombre " + global.Nombre + " y los mismos parametros", global.RutaArchivo, global.Fila.ToString(), global.Columna.ToString());
                                TitusNotifiaciones.setDatosErrores(error);
                            }
                        }
                        else
                        {
                            TabError error = new TabError();
                            error.InsertarFila(Constante.ErroEjecucion, "Ya hay declarada una variable con el metodo " + global.Nombre, global.RutaArchivo, global.Fila.ToString(), global.Columna.ToString());
                            TitusNotifiaciones.setDatosErrores(error);
                        }
                        break;
                    }
                }
            }
        }
Esempio n. 3
0
        public Ejecutar(EjecutarSBS inicio)
        {
            Inicio = inicio;

            if (TitusNotifiaciones.ContarErrores() == 0)
            {
                BuscarErroresGlobal(Inicio);
                if (TitusNotifiaciones.ContarErrores() == 0)
                {
                    TablaVariables.Tabla.Add(new Variables());//asignamos el espacio para el principal
                    LlenarGlobal();
                }

                if (TitusNotifiaciones.ContarErrores() == 0)
                {
                    LlenarIncluyes(Inicio);
                }

                if (TitusNotifiaciones.ContarErrores() == 0)
                {
                    EjecutarPrincipal();
                }

                if (TitusNotifiaciones.ContarErrores() == 0)
                {
                    TitusNotifiaciones.MostrarImagen();
                }
            }
            if (TitusNotifiaciones.ContarErrores() > 0)
            {
                MessageBox.Show("Se encontraron error, favor revisar las notifiaciones", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Ejecucion realizada con exito.", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }