QuickBasic - Leer archivos .DAT y .KEY

 
Vista:

Leer archivos .DAT y .KEY

Publicado por Ernesto Weimann (1 intervención) el 30/09/2008 13:44:13
Hola Amigos del Foro:
Necesito leer archivos generados por un sistema desarrollado en Quick Basic aproximadamente en 1992...
Los archivos tienen extensión .DAT para los datos y .KEY para los índices...
Con que utilitario podría leer y organizar esos archivos???
Si alguien me puede ayudar le agradezco desde ya...
Muchas Gracias...
Ernesto Weimann
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Leer archivos .DAT y .KEY

Publicado por Antoni Masana (13 intervenciones) el 20/11/2008 08:38:47
No existe ninguna herramienta para extraer los datos de estos ficheros creados en Quick Basic.

Hay dos opciones UNO el sistema que los crea DOS coger el Quick Basic e investigar la estructura de los datos del fichero .DAT (del .KEY ni caso no te interesa)

Cosas a terner en cuenta:

Al tener un fichero de indices se puede suponer que la longitud del registro del fichero DAT debe ser fija.

- Los campos de texto son eso, texto.

- Para las fechas no hay ningun tipo de formato predefinido

- Los campos numericos pueden ser de 6 tipos diferentes, la logitud puede se de 2, 4 y 8 byts

Ayuda del QBasic:

----------------------------------------

MKI$, MKL$, MKS$ y MKD$ convierten números en cadenas numéricas que pueden ser almacenadas en variables de cadena a través de la instrucción FIELD.

CVI, CVL, CVS y CVD convierten esas cadenas nuevamente en números.

MKI$(expresión-entero%)
MKL$(expresión-entero-largo&)
MKS$(expresión-precisión-sencilla!)
MKD$(expresión-precisión-doble#)
CVI(cadena-numérica-de-2-bytes)
CVL(cadena-numérica-de-4-bytes)
CVS(cadena-numérica-de-4-bytes)
CVD(cadena-numérica-de-8-bytes)

Función Devuelve Función Devuelve
MKI$ Cadena de 2 bytes CVI Entero
MKL$ Cadena de 4 bytes CVL Entero largo
MKS$ Cadena de 4 bytes CVS Número de precisión sencilla
MKD$ Cadena de 8 bytes CVD Número de precisión doble

----------------------------------------

MKSMBF$ y MKDMBF$ convierten números con el formato IEEE en cadenas numérica con el formato binario de Microsoft que pueden ser almacenadas en variables de cadena a través de la instrucción FIELD.

CVSMBF y CVDMBF convierten esas cadenas nuevamente a números con el
formato IEEE.

MKSMBF$(expresión-precisión-sencilla!)
MKDMBF$(expresión-precisión-doble#)
CVSMBF (cadena-numérica-de-4-bytes)
CVDMBF (cadena-numérica-de-8-bytes)

Función Devuelve
MKSMBF$ Una cadena de 4 bytes que contiene un número con el formato
binario de Microsoft
MKDMBF$ Una cadena de 8 bytes que contiene un número con el formato
binario de Microsoft
CVSMBF Un número de precisión sencilla con el formato IEEE
CVDMBF Un número de precisión doble con el formato IEEE

■ Estas funciones son útiles para mantener archivos de datos creados
con versiones antiguas de Basic.

Ejemplo:
TYPE Buffer
SngNum AS STRING * 4
DblNum AS STRING * 8
END TYPE
DIM RecBuffer AS Buffer
OPEN "TESTDAT.DAT" FOR RANDOM AS #1 LEN = 12
SNum = 98.9
DNum = 645.3235622#
RecBuffer.SngNum = MKSMBF$(SNum) RecBuffer.DblNum = KDMBF$(DNum)
PUT #1, 1, RecBuffer
GET #1, 1, RecBuffer
CLOSE #1
PRINT CVSMBF(RecBuffer.SngNum), CVDMBF(RecBuffer.DblNum)

----------------------------------------

Como puedes ver no es facil pero tampoco imposible, es cuestion de paciencia.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer archivos .DAT y .KEY

Publicado por Eduardo (1 intervención) el 29/12/2008 23:10:37
Que tal.
Yo actualmente aun programo con este tipo de archivos.
Si aun estas interesado, escribime.
[email protected]
Eduardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar