2011/02/05

Fin de Archivo lectura secuencial en VB.NET

Cuando se lee secuencialmente un archivo en VB.NET, el apuntador se pone en fin de archivo cuando el el Ășltimo regitro, contratio a Cobol que lo pone hasta que llega al fin de archivo

Cobol VB.NET

XXXXXX XXXXXX
YYYYYY YYYYYY <-- Apuntador
<-- Apuntador

Para resolver el punto cuando la lectura se hace hacia el final del proceso (al principio del proceso no tiene problema porque se lee el registro, se procesa y despues se pregunta) se debe manejar el fin de archivo de la siguiente manera

While Lineatexto1 is not Nothing

Proceso....

If not eof(1)
lineatexto = lineinput(1)
else
lineatexto = Nothing
endif

Formato FBM en un archivo Cobol en Host

Un problema que se presenta y que no es claro el porque, es al generar un archivo de una determinada longitud, 70 por ejemplo, al generarse y querer ser leido por el siguiente proceso, resulta que la longitud es de 71 y deja un caracter al principio del archivo. Esto sucede porque el archivo fue generado con caracteres de maquina, debido a que se dio write con con instrucciones para la impresora, como after advancing, before advancing. Lo que hay que hacer es eliminar estas instrucciones del write del archivo y quedara como un archivo plano.