public override void Leer(StreamReader lector) { string[] filas; string[] elemsFila; int f = 0; cantColumnas = -1; filas = MA.LeerMatriz(lector); cantFilas = filas.Length; Filas = new ParamVector[cantFilas]; foreach (string fila in filas) { ParamVector vector = new ParamVector(); vector.Definicion = Definicion; elemsFila = MA.ObtenerElementosDeLaFila(fila); if (cantColumnas == -1) { cantColumnas = elemsFila.Length; } else if (elemsFila.Length != cantColumnas) { throw new Exception(Mensajes.MatrizTieneFilaEnDeDistintaLongitud(Definicion.Nombre, f)); } VerificarTiposCorrectos(f, elemsFila); vector.EstablecerValor(elemsFila); Filas[f] = vector; f++; } }
//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 override void Leer( StreamReader lector ) { string[] filas; string[] elemsFila; int f = 0; cantColumnas = -1; filas = MA.LeerMatriz( lector ); cantFilas = filas.Length; Filas = new ParamVector[cantFilas]; foreach( string fila in filas ) { ParamVector vector = new ParamVector(); vector.Definicion = Definicion; elemsFila = MA.ObtenerElementosDeLaFila( fila ); if( cantColumnas==-1 ) cantColumnas = elemsFila.Length; else if( elemsFila.Length!=cantColumnas ) throw new Exception( Mensajes.MatrizTieneFilaEnDeDistintaLongitud( Definicion.Nombre, f ) ); VerificarTiposCorrectos( f, elemsFila ); vector.EstablecerValor( elemsFila ); Filas[f] = vector; f++; } }