private void Cargar(Decimal ID_SUB_PROGRAMA) { HiddenField_ID_SUB_PROGRAMA.Value = ID_SUB_PROGRAMA.ToString(); Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value); SubPrograma _subPrograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSubprograma = _subPrograma.ObtenerSubProgramasPorId(ID_SUB_PROGRAMA, AREA); if (tablaSubprograma.Rows.Count <= 0) { if (String.IsNullOrEmpty(_subPrograma.MensajeError) == false) { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _subPrograma.MensajeError, Proceso.Error); } else { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información del Sub Programa seleccionado", Proceso.Error); } } else { Ocultar(Acciones.Inicio); Desactivar(Acciones.Inicio); Mostrar(Acciones.Cargar); Cargar(Acciones.Cargar); DataRow filaSubprograma = tablaSubprograma.Rows[0]; CargarControlRegistro(filaSubprograma); CargarInformacionSubprograma(filaSubprograma); } }
private void Actualizar() { Decimal ID_SUB_PROGRAMA = Convert.ToDecimal(HiddenField_ID_SUB_PROGRAMA.Value); String NOMBRE = TextBox_Nombre.Text.Trim(); String DESCRIPCION = TextBox_Descripcion.Text.Trim(); Boolean ACTIVO = true; if (DropDownList_EstadoSubPrograma.SelectedValue == "False") { ACTIVO = false; } SubPrograma _subprograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); Boolean verificado = _subprograma.Actualizar(ID_SUB_PROGRAMA, NOMBRE, DESCRIPCION, ACTIVO); if (verificado == false) { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _subprograma.MensajeError, Proceso.Error); } else { Cargar(ID_SUB_PROGRAMA); Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El Sub Programa " + NOMBRE + " fue creado Actualizado correctamente.", Proceso.Correcto); } }
private void cargar_GridView_RESULTADOS_BUSQUEDA() { tools _tools = new tools(); SecureQueryString QueryStringSeguro; QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]); Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value); SubPrograma _subPrograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSubProgramas = _subPrograma.ObtenerSubProgramasPorArea(AREA); if (tablaSubProgramas.Rows.Count <= 0) { if (_subPrograma.MensajeError == null) { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros de Sub Programas.", Proceso.Advertencia); } else { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _subPrograma.MensajeError, Proceso.Error); } Panel_RESULTADOS_GRID.Visible = false; } else { GridView_RESULTADOS_BUSQUEDA.DataSource = tablaSubProgramas; GridView_RESULTADOS_BUSQUEDA.DataBind(); } }
private void Buscar() { Ocultar(Acciones.Inicio); Desactivar(Acciones.Inicio); Mostrar(Acciones.Inicio); String datosCapturados = HiddenField_FILTRO_DATO.Value; String campo = HiddenField_FILTRO_DROP.Value; Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value); SubPrograma _SubPrograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaResultadosBusqueda = new DataTable(); if (campo == "ID_SUB_PROGRAMA") { tablaResultadosBusqueda = _SubPrograma.ObtenerSubProgramasPorId(Convert.ToDecimal(datosCapturados), AREA); } else { if (DropDownList_BUSCAR.SelectedValue == "NOMBRE") { tablaResultadosBusqueda = _SubPrograma.ObtenerSubProgramasPorNombre(datosCapturados, AREA); } } if (tablaResultadosBusqueda.Rows.Count <= 0) { if (_SubPrograma.MensajeError != null) { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _SubPrograma.MensajeError, Proceso.Error); } else { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros que cumplieran los datos de busqueda.", Proceso.Advertencia); } Panel_RESULTADOS_GRID.Visible = false; } else { Panel_RESULTADOS_GRID.Visible = true; GridView_RESULTADOS_BUSQUEDA.DataSource = tablaResultadosBusqueda; GridView_RESULTADOS_BUSQUEDA.DataBind(); } }
private void Guardar() { String NOMBRE = TextBox_Nombre.Text.Trim(); String DESCRIPCION = TextBox_Descripcion.Text.Trim(); Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value); SubPrograma _subprograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); Decimal ID_SUB_PROGRAMA = _subprograma.Adicionar(NOMBRE, DESCRIPCION, AREA); if (ID_SUB_PROGRAMA <= 0) { Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _subprograma.MensajeError, Proceso.Error); } else { Cargar(ID_SUB_PROGRAMA); Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El Sub Programa " + NOMBRE + " fue creado correctamente y se le asignó el ID: " + ID_SUB_PROGRAMA.ToString(), Proceso.Correcto); } }
private void runButton_Click(object sender, EventArgs e) { resultadoAnalisis = null; resultadoAnalisis = SintacticoInterprete.Analizar(code_textbox.Text); error_table.Rows.Clear(); symbol_table.Rows.Clear(); console_textbox.Text = ""; if (resultadoAnalisis != null) { if (resultadoAnalisis.ParserMessages.Count == 0) { SemanticoInterprete semanticoInterprete = new SemanticoInterprete(); semanticoInterprete.iniciarAnalisisSintactico(resultadoAnalisis.Root); Simbolo sim; String valorTabla = ""; if (semanticoInterprete.errores.Count != 0) { table_label.Text = "Error Table"; symbol_table.Visible = false; error_table.Visible = true; foreach (Error error in semanticoInterprete.errores) { error_table.Rows.Add("Semantico", error.error, error.fila + 1, error.columna + 1); } } else { table_label.Text = "Symbol Table"; symbol_table.Visible = true; error_table.Visible = false; foreach (Entorno entorno in semanticoInterprete.entornos) { foreach (KeyValuePair <string, Simbolo> variable in entorno.tabla) { if (typeof(Objeto).IsInstanceOfType(variable.Value.valor)) { string valor = ""; if (((Objeto)variable.Value.valor).arreglo is null) { foreach (KeyValuePair <string, Simbolo> parametro in ((Objeto)variable.Value.valor).parametros) { sim = parametro.Value; if (sim.valor.ToString().Contains("Proyecto1_Compiladores2")) { valorTabla = ((Objeto)sim.valor).nombre; if (valor == "") { valor = parametro.Key + ": " + valorTabla; } else { valor += ", " + parametro.Key + ": " + valorTabla; } } else { if (valor == "") { valor = parametro.Key + ": " + sim.valor; } else { valor += ", " + parametro.Key + ": " + sim.valor; } } } } else { Objeto tmp = (Objeto)variable.Value.valor; if (tmp.tipo != Simbolo.EnumTipo.objeto) { valor = tmp.tipo + "[" + tmp.arreglo.GetLength(0); } else { valor = tmp.nombreTipo + "[" + tmp.arreglo.GetLength(0); } for (int i = 1; i < tmp.arreglo.Rank; i++) { valor += ", " + tmp.arreglo.GetLength(i); } valor += "]"; } symbol_table.Rows.Add(variable.Key, variable.Value.tipo, entorno.nombreEntorno, variable.Value.fila, variable.Value.columna, valor); } else { if (variable.Value.tipo == Simbolo.EnumTipo.funcion || variable.Value.tipo == Simbolo.EnumTipo.procedimiento) { SubPrograma sp = (SubPrograma)variable.Value.valor; string valor = ""; if (sp.ordenParametros.Count != 0) { foreach (string cadena in sp.ordenParametros) { if (valor == "") { valor = "; {" + cadena; } else { valor += ", " + cadena; } } valor += "}"; } symbol_table.Rows.Add(variable.Key, variable.Value.tipo, entorno.nombreEntorno, variable.Value.fila, variable.Value.columna, sp.tipo + valor); } else { symbol_table.Rows.Add(variable.Key, variable.Value.tipo, entorno.nombreEntorno, variable.Value.fila, variable.Value.columna, variable.Value.valor.ToString()); } } } } } foreach (string texto in semanticoInterprete.consola) { if (texto.Contains("\n")) { console_textbox.Text += texto.Replace("\n", "") + Environment.NewLine; } else { console_textbox.Text += texto; } } //Graficar Arbol Irony SintacticoInterprete.crearImagen(resultadoAnalisis.Root, null, 0); /*Thread.Sleep(1000); * var p = new Process(); * * //Abrir imagen Irony * p.StartInfo = new ProcessStartInfo(@"C:\compiladores2\ArbolIrony.png") * { * UseShellExecute = true * }; * p.Start();*/ } else { table_label.Text = "Error Table"; symbol_table.Visible = false; error_table.Visible = true; string mensajeTraducido = ""; foreach (Irony.LogMessage error in resultadoAnalisis.ParserMessages) { if (error.Message.Contains("expected")) { mensajeTraducido = error.Message.Replace("Syntax error, expected: ", "Se esperaba el token: "); } else { mensajeTraducido = "No se encontro simbolo para finalizar la cadena"; } error_table.Rows.Add("Sintactico", mensajeTraducido, error.Location.Line + 1, error.Location.Column + 1); } } } else { } }