public object Ejecutar(Ambito ambito) { try { DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, estilo.tipo, "", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; llamadaACalcular(auxiliar, null); llamadaACalcular(auxiliar, null); ob.ambito = dame.ambPregu; } } catch (Exception e) { TError error = new TError("Ejecucion", "Error al ejecutar el metodo Calcular: " + this.identificador + " | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.ColocaError(error); Estatico.errores.Add(error); } return(new Nulo()); }
public object Ejecutar(Ambito ambito) { try { this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, estilo.tipo, "", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { object l = estilo.parametros.ElementAt(0).getValor(ambito); if (l is Objeto) { Objeto o = (Objeto)l; if (o.idClase.ToLower().Equals("opciones")) { Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; Opciones listado = dameOpciones(o.ambito); int tipo = 0; if (estilo.tipo.Equals("seleccionar")) { tipo = 0; } else { tipo = 1; } /*MUESTRA EL FORM*/ MuestraForm: Seleccionar s = new Seleccionar(p, tipo, listado, linea, columna, clase, ambito.archivo); s.ShowDialog(); String respuesta = s.respuesta; if (respuesta.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(respuesta, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm; } if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm; } PreguntaAlmacenada nueva = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); nueva.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(nueva); ob.ambito = dame.ambPregu; if (s.salir != null) { return(s.salir); } } else { TError error = new TError("Semantico", "El parametro recibido para la pregunta: " + estilo.tipo + " requiere un objeto de tipo Opciones | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } } else { TError error = new TError("Semantico", "El parametro recibido para la pregunta: " + estilo.tipo + " requiere un objeto de tipo Opciones | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } } } catch (Exception e) { TError error = new TError("Ejecucion", "Error al ejecutar pregunta:" + this.identificador + " de tipo: " + estilo.tipo + " | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.ColocaError(error); Estatico.errores.Add(error); } return(new Nulo()); }
public object Ejecutar(Ambito ambito) { try { if (estilo.parametros.Count == 3) { Expresion p1 = estilo.parametros.ElementAt(0); Expresion p2 = estilo.parametros.ElementAt(1); Expresion p3 = estilo.parametros.ElementAt(2); Object min = p1.getValor(ambito); Object max = p2.getValor(ambito); Object fil = p3.getValor(ambito); if (min is int && max is int && fil is int) { int cad_min = (int)min; int cad_max = (int)max; int cad_fil = (int)fil; if (cad_max <= cad_min) { cad_max = cad_min + 2; } this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, "Texto/Cadena", "(min, max, fil)", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; MuestraForm: /*AQUI YA CREO EL FORMULARIO*/ Cadenas c = new Cadenas(p, linea, columna, clase, ambito.archivo, cad_max, cad_min, cad_fil, true); c.ShowDialog(); String resp = c.respuesta; if (resp.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(resp, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm; } // LLAMO A RESPUESTA if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm; } PreguntaAlmacenada pr = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); pr.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(pr); ob.ambito = dame.ambPregu; if (c.salir != null) { return(c.salir); } } } else { TError error = new TError("Semantico", "Error Al Mostrar Pregunta: \"" + this.identificador + "\" ya que se espera que sus parametros sean enteros: (min, max, fila) | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } } else { this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, "Texto/Cadena", "()", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; MuestraForm1: /*AQUI YA CREO EL FORMULARIO*/ Cadenas c = new Cadenas(p, linea, columna, clase, ambito.archivo, -1, -2, -1, false); c.ShowDialog(); String resp = c.respuesta; if (resp.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(resp, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " que es lo que se espera! | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm1; } // LLAMO A RESPUESTA if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm1; } PreguntaAlmacenada pr = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); pr.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(pr); ob.ambito = dame.ambPregu; if (c.salir != null) { return(c.salir); } } } } catch (Exception e) { TError error = new TError("Ejecucion", "Error al ejecutar Pregunta: " + this.identificador + " | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.ColocaError(error); Estatico.errores.Add(error); } return(new Nulo()); }
public object Ejecutar(Ambito ambito) { try { this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, estilo.tipo, "", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; int tipo = 0; if (estilo.tipo.Equals("fechahora")) { tipo = 0; } else if (estilo.tipo.Equals("hora")) { tipo = 2; } else if (estilo.tipo.Equals("fecha")) { tipo = 1; } MuestraForm1: FechasHoras f = new FechasHoras(p, tipo); f.ShowDialog(); String respuesta = f.respuesta; if (respuesta.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(respuesta, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm1; } if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm1; } PreguntaAlmacenada nueva = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); nueva.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(nueva); ob.ambito = dame.ambPregu; if (f.salir != null) { return(f.salir); } } } catch (Exception e) { TError error = new TError("Ejecucion", "Se produjo un error de Ejecucion en la ejecucion de Pregunta De tipo: " + estilo.tipo + " | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } return(new Nulo()); }
public object Ejecutar(Ambito ambito) { try { this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta dame = new DamePregunta(identificador, parametros, clase, linea, columna, estilo.tipo, "", this.numero); Pregunta p = dame.getPregunta(ambito); if (p != null) { Expresion p1 = estilo.parametros.ElementAt(0); Expresion p2 = estilo.parametros.ElementAt(1); Object val1 = p1.getValor(ambito); Object val2 = p2.getValor(ambito); Objeto ob = dame.ob; Ambito auxiliar = dame.ambPregu; String etiquetaV = "Verdadero"; String etiquetaF = "Falso"; if (val1 is String && val2 is String) { etiquetaV = (String)val1; etiquetaF = (String)val2; } MuestraForm: Condicional c = new Condicional(p, etiquetaV, etiquetaF, linea, columna, clase, ambito.archivo); c.ShowDialog(); String respuesta = c.respuesta; if (respuesta.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(respuesta, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm; } if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm; } PreguntaAlmacenada nueva = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); nueva.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(nueva); ob.ambito = dame.ambPregu; if (c.salir != null) { return(c.salir); } } } catch (Exception e) { TError error = new TError("Ejecucion", "Se produjo un error de Ejecucion en la ejecucion de Pregunta De tipo: " + estilo.tipo + " | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } return(new Nulo()); }
public object Ejecutar(Ambito ambito) { try { this.numero = Estatico.numPregunta; Estatico.numPregunta++; DamePregunta pr = new DamePregunta(this.identificador, parametros, clase, linea, columna, "Entero, Rango, Decimal", "", this.numero); Pregunta p = pr.getPregunta(ambito); if (p != null) { Objeto ob = pr.ob; Ambito auxiliar = pr.ambPregu; if (estilo.tipo.ToLower().Equals("entero") || estilo.tipo.ToLower().Equals("decimal")) { MuestraForm1: Numerico n = new Numerico(p, linea, columna, 0, 0, false, estilo.tipo.Equals("decimal") ? true : false); n.ShowDialog(); String respuesta = n.respuesta; if (respuesta.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(respuesta, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm1; } if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm1; } PreguntaAlmacenada nueva = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); nueva.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(nueva); ob.ambito = pr.ambPregu; if (n.salir != null) { return(n.salir); } } else if (estilo.tipo.ToLower().Equals("rango")) { Expresion p1 = this.estilo.parametros.ElementAt(0); //INFERIOR Expresion p2 = this.estilo.parametros.ElementAt(1); //SUPERIOR Object inf = p1.getValor(ambito); Object sup = p2.getValor(ambito); if (inf is int && sup is int) { int superior = (int)sup; int inferior = (int)inf; MuestraForm2: Numerico n = new Numerico(p, linea, columna, inferior, superior, true, false); n.ShowDialog(); String respuesta = n.respuesta; if (respuesta.Equals("")) { this.valorResp = Estatico.respuestaPorDefecto(this.casteo); } else { this.valorResp = Estatico.casteaRespuestaA(respuesta, valorResp, this.casteo); } if (valorResp is null) { TError error = new TError("Semantico", "No se logro Castear la respuesta a tipo: " + this.casteo.ToString() + " | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); goto MuestraForm2; } if (!llamaARespuesta(auxiliar, valorResp)) { goto MuestraForm2; } PreguntaAlmacenada nueva = new PreguntaAlmacenada(this.identificador, p.etiqueta, this.numero); nueva.addAnswer(this.valorResp.ToString()); Estatico.resps.Add(nueva); ob.ambito = pr.ambPregu; if (n.salir != null) { return(n.salir); } } else { TError error = new TError("Semantico", "Para la visualizacion de pregunta de Rango recibe parametros: Rango(entero, entero) | Clase: " + clase + " | Archivo: " + ambito.archivo, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } } } } catch (Exception e) { TError error = new TError("Ejecucion", "Se produjo un error de Ejecucion en la ejecucion de Pregunta numerica | Clase: " + clase + " | Archivo: " + ambito.archivo + " | Mensaje: " + e.Message, linea, columna, false); Estatico.errores.Add(error); Estatico.ColocaError(error); } return(new Nulo()); }