Error extraño en importación de archivos BC3

Ninguna aplicación está libre de errores y Criterium CyP no es una excepción. Algunos traen el sello del despiste y falta de atención del programador, otros son realmente jodidos de prevenir y de depurar. Uno de estos últimos acaba de ser solucionado en nuestra aplicación.

En la importación de los archivos BC3 nos hemos encontrado una situación realmente curiosa. Alguno de nuestros clientes nos ha enviado archivos BC3 para la realización de pruebas y curiosamente no se importaba ninguna partida. Sabíamos que al cliente no le sucedía lo mismo, pero nosotros eramos incapaces de importarlos en Criterium CyP.

Al final ha sido un error bastante tonto, no habíamos tenido en cuenta los formatos de fin de linea de los distintos sistemas operativos en las rutinas de importación de los archivos BC3 del formato FIEBDC.

Como muchos de ustedes sabrán, los distintos sistemas operativos han trabajado tradicionalmente con diferentes fines de línea en los ficheros de texto.

Los sistemas de Apple, los Mac, indicaban el fin de línea mediante el caracter CR. Los equipos derivados de Unix, entre ellos Linux, usan LF. Y MsDos/Windows han usado ambos: CRLF; aunque esta opción supone un desperdicio de recursos. Esto ahora no tiene mucha importancia, pero no era una minucia en los viejos tiempos del predominio del MsDos.

Lo cierto es que un error que puede pasar desapercibido durante años en empresas que usen solo Windows, sin embargo no es nuestro caso. Usamos intensivamente el sistema operativo Linux, y dado que nuestro cliente de correo electrónico funciona sobre dicho sistema, al guardar los archivos BC3, remitidos por nuestros clientes, de forma silenciosa eran guardados con el fin de línea LF. Este detalle es casi totalmente transparente al usuario y cometimos la torpeza de no tenerlo en cuenta en la importación de dichos archivos.

Ya hemos solucionado el problema, ahora pueden importarse archivos BC3 con cualquier final de linea, si me apuras incluso con varios finales de línea distintos. Después de todo es un problema mas sencillo de solucionar que de reproducir.

No piensen que hemos sido especialmente torpes en esto, hemos comprobado que Presto 8.8 adolece del mismo problema. Desconozco si sigue presente en nuevas versiones de Presto o en otros productos como Arquímedes, Menfis, etc.

Si tienen algún caso de este tipo les aconsejo que instalen algún editor de texto que permita gestionar de forma sencilla los finales de línea y los cambien al pésimo "estándar" de los sistemas Windows. Un servidor usa habitualmente Scite (wikipedia), basado en scintilla. Es muy eficiente y potente. También puede venir bien Notepad++, también basado en scintilla.

Producto: 
Tags: