Hola a todos, me acaba de entrar un cliente que tiene un programa de hace unos 20 años, según he podido ver esta hecho en Qbasic o Visual Basic, creo, los ficheros puedes abrirlos con el bloc de Notas, pero lógicamente, los registros no están delimitados, se intuye donde empieza y acaba cada uno.
He probado con ultraedit, excel, y alguno más a ver si puede convertirlos de alguna manera a excel para tratarlos, el problema esta en que hay más de 60000 artículos y crearlos manualmente es inviable.
¿ alguno habéis tenido este problema, o habéis tocado este tipo de ficheros, como lo habéis resuelto ?
Si lo abres con un bloc de notas y ves correctamente la información. Puedes tratar de crear un artículo con valores máximos zzzzzzz aaaaaaaaaaa, etc. De esta forma podrás averiguar el tamaño de los campos, a partir de hay lo tienes resuelto, abrir fichero leer línea pardear la línea según los tamaños hayamos anteriormente y poco más
Recuerda que si la aplicación tiene tanto tiempo, es muy probable que el mapa de caracteres sea el 437 o el 850, por lo que tendrás que sustituir los caracteres especiales ñ, ó, á, etc
¿Cuántos hay que ya no se usan?, ¿Cuántos hay que ni tendrán movimientos?
Esas son las preguntas que le hago a un cliente cuando quiere importar. A parte que se cobra a parte por que muchas veces requiere programación extra para introducir los datos en las nuevas tablas.
Esfero, evidentemente si se pudiera abrir como un fichero de texto formateado no estaría haciendo esta pregunta, adjunto un fichero de ejemplo, como veréis hay múltiples saltos de línea, por lo cual es imposible leer registros, salvo que se os ocurra otra cosa, por lo que he visto los indices están en el mismo fichero de datos.
Wikan, esas preguntas hace años que yo también las planteo a los clientes, pero a veces es imposible, como es este caso, evidentemente si hubiera logrado convencerlo de volver a crearlos o pedir a los proveedores un excel con los productos actuales no hubiera acudido al foro, lo hago porque es inviable.
Adjunto un fichero por si a alguien se le ocurre algo nuevo.
Gracias Antonio, no conocía esta herramienta, se parece mucho a ultraedit, sabes como encolumnar los registros para tratarlos como fichero texto o llevarlos a excel, es decir, tener una linea por registro.
Alguna vez resolvi de la siguiente manera_: mas o menos asi
En Qbasic o tambien puede ser en Vbasic
Lo principal es leerlo en bloques fijos de 705 bytes, seguido dentro del mismo me parece un bloque interno de 81 bytes. Una vez convertidos a la estructura correcta hacer la importacion a velneo.
Este de 81 bytes es lo que me parece que sirve.
En Qbasic seria:
OPEN “ARCHIVO A TRANSFORMAR” AS#1 ACCESS RANDOM LEN=751
OPEN “archivotextoconvertido” AS#2
mediante sentencias while o similar grabarlos en el segundo archivo.