public override void CompararValor( EscritorC escritor ) { Elem elem = new Elem(); escritor.WriteLine( "//" + Definicion.Nombre ); for( int i = 0; i < Elementos.Length; i++ ) { elem = Elementos[i]; elem.Definicion.Tipo = Definicion.Tipo; elem.Definicion.TipoDeAcceso = ValorOReferencia.V; if( Definicion.Tipo==Tipo.Char ) elem.Valor = elem.Valor[1].ToString(); elem.CompararValor( escritor, Definicion.Nombre + "[" + i + "]" ); } }
//Genera un parametro segun el tipo que sea. public Parametro GenerarParametro() { Parametro salida = null; if( EsMatriz ) salida = new ParamMatriz(); if( EsVector ) salida = new ParamVector(); if( EsLista ) salida = new ParamLista(); if( EsElemento ) salida = new Elem(); salida.Definicion = this; return salida; }
public void EstablecerLongitud(int longitud) { Elementos = new Elem[longitud]; }
public ParamVector(int longitud) { Elementos = new Elem[longitud]; }
public void EstablecerLongitud( int longitud ) { Elementos = new Elem[longitud]; }
public ParamVector( int longitud ) { Elementos = new Elem[longitud]; }
private void VerificarTiposCorrectos( int fila, string[] elemsFila ) { int col = 0; foreach( string elemento in elemsFila ) { Elem elem = new Elem( elemento ); if( !elem.TipoCorrecto( Definicion.Tipo ) ) throw new Exception( Mensajes.ElementoDeTipoIncorrectoEnLaMatriz( Definicion.Nombre, fila, col ) ); col++; } }
public ParamLista(int longitud) { Elementos = new Elem[longitud]; }
public void EstablecerValor(string[] fila) { EstablecerLongitud(fila.Length); int i = 0; foreach (string elemento in fila) { Elem elem = new Elem(elemento); if (!elem.TipoCorrecto(Definicion.Tipo)) throw new Exception(Mensajes.ElementoDeTipoIncorrectoEnElVector(Definicion.Nombre, i)); Elementos[i] = elem; i++; } }