Pregunta: | 10885 - COMO ABRIR UNA BD CON QBASIC O VBDOS |
Autor: | César Nava Soto |
Quiero saber si me pueden proporcionar un codigo completo de ejemplo, de como abrir y mostrar registros, con una base de datos ISAM o DBF con QBasic o VBdos. |
Respuesta: | Antoni Masana |
Tengo la descripción de la cabecera de un fichero DBF pero es complejo el tratarlo en QBasic, no imposible. Con esto y unas cuantas teclas pulsadas se puede hacer lo que se quiera.
Estructura del registro de encabezado de la tabla Desplazamiento de bytes Descripción ---------------------------------------------------------- 00 – 00 Tipo de archivo 0x02 FoxBASE 0x03 FoxBASE+/dBASE III PLUS, sin memo 0x30 Visual FoxPro 0x43 dBASE IV SQL archivos de tabla, sin memo 0x63 dBASE IV SQL archivos de sistema, sin memo 0x83 FoxBASE+/dBASE III PLUS, con memo 0x8B dBASE IV con memo 0xCB dBASE IV SQL archivos de tabla, con memo 0xF5 FoxPro 2.x (o anterior) con memo 0xFB FoxBASE 01 – 03 Última actualización (YYMMDD) 04 – 07 Número de registros de un archivo 08 – 09 Posición del primer registro de datos 10 – 11 Longitud de un registro de datos (incluyendo el indicador de eliminación) 12 – 27 Reservado 28 – 28 Indicadores de tabla 0x01 el archivo tiene un .cdx estructural 0x02 el archivo tiene un campo Memo 0x04 el archivo es una base de datos (.dbc) Observe que este byte puede contener la suma de cualquiera de los valores anteriores. Por ejemplo, 0x03 indica que la tabla tiene un .cdx estructural y un campo Memo. 29 – 29 Marca de página de códigos 30 – 31 Reservado, contiene 0x00 32 – n Subregistros de campo El número de campos determina el número de subregistros de campo. Hay un subregistro de campo por cada campo de la tabla. n+1 Final de registro de encabezado (0x0D) n+2 a n+264 Intervalo de 263-bytes que contiene la información de vínculo anterior (la ruta de acceso relativa de una base de datos asociada (.dbc)). Si el primer byte es 0x00, el archivo no está asociado a una base de datos. Por lo tanto, las bases de datos siempre contienen el 0x00. (1) En el archivo de datos, los datos comienzan en la posición indicada por los bytes 8 a 9 del registro de encabezado. Los registros de datos comienzan con un byte indicador de eliminación. Si este byte es un espacio ASCII (0x20) el registro no se borra; si el primer byte es un asterisco (0x2A) el registro es eliminado. Los datos de los campos nombrados en los subregistros de campo van detrás del indicador de eliminación. |