Datos Qbasic / Visual Basic


([N3] GSI) #1

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 ?

Gracias de antemano


([N2] Mgalvezh) #2

Hola, pon algun nombre de los archivos con su extensión, a ver si podemos saber de que tipo se trata…


([N2] Esfero) #3

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


([N1] wikan) #4
  • Aplicación de hace 20 años
  • 60000 artículos.

¿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.


([N3] GSI) #5

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.

https://drive.google.com/file/d/0BznFL4WYmaH7QTh4WDM5Wi04VTg/view?usp=sharing


([N4] antonioosorio) #6

HOla

He abierto el fichero con http://www.pspad.com/es/

Se ve que el tamaño del registro es de 705 bytes.

Un saludo,
Antonio Osorio


([N3] GSI) #7

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.

Gracias por el interés.


([N1] mrv1) #8

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.

ESTO LO HICE HACE VARIOS AÑOS.

BUENO ES UNA IDEA SUGERIDA.


([N1] mrv1) #9

A PROPOSITO DE ESTA PUBLICACION.

Cómo se abre con instrucciones de JavaScript un archivo en modo acceso random y con longitud fija?

Veo que por ahi hay una salida. Quizas por algun lugar exista un ejemplo. Me parece, digo.

Solo estoy dedicado a instrucciones 100% velneo. No JS