Советы по Delphi


Структура заголовка файла данных для таблицы dBASE III PLUS.




Заголовок табличного файла
Байт Содержание Описание
01-й байтОпределение наличия MEMO-файла в таблице dBASE III PLUS (03h без MEMO-файла (.DBT-файл;) 83h с MEMO-файлом).
1-33 байта Дата последнего обновления в формате YYMMDD
4-732-битное число Количество записей в таблице
8-916-битное число Количество байтов, занимаемых заголовком
10-1116-битное число Количество байтов, занимаемых записью
12-143 байта Зарезервированная область
15-2713 байт Зарезервировано для сетевой версии dBASE III PLUS
28-314 байта Зарезервированная область
32-n32 байта Массив с описаниями полей (структура каждого такого описания показана ниже)
n+11 байт Хранится значение 0Dh, выполняющее роль терминатора описаний полей

n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Описание поля таблицы
Байт Содержание Описание
0-1011 байтИмя поля в ASCII (заполнено нулями).
111 байт Тип поля в ASCII (C, D, L, M или N)
12-154 байта Адрес данных поля (ссылка на память, а не на диск)
161 байт Размер поля в бинарном формате
171 байт Порядковый номер поля в бинарном формате
18-192 байта Зарезервировано для сетевой версии dBASE III PLUS
201 байт ID рабочей области
21-222 байта Зарезервировано для сетевой версии dBASE III PLUS
231 байт Флаг установки поля
24-311 байт Зарезервированная область


Структура файла
Байт Содержание Описание
01-й байтКонтроль файла dBASE IV: биты 0-2 указывают номер версии, бит 3 - наличие MEMO-файла dBASE IV, биты 4-6 - наличие SQL-таблицы, бит 7 - наличие любого MEMO-файла (или dBASE III Plus, или dBASE IV)
1-33 байта Дата последнего обновления в формате YYMMDD
4-732-битное число Количество записей в таблице
8-916-битное число Количество байтов, занимаемых заголовком
10-1116-битное число Количество байтов, занимаемых записью
12-132 байта Зарезервированная область, заполнена нулями
141 байт Флаг, указывающий на наличие незавершенной транзакции
151 байт Флаг кодировки
16-2712 байт Зарезервированная область для многопользовательского использования dBASE IV
281 байт Флаг наличия MDX-файла: 01H - файл присутствует, 00H - файл отсутствует
291 байт ID драйвера языка
30-312 байта Зарезервированная область, заполнена нулями
32-n*по 32 байта Массив с описаниями полей (структура каждого такого описания показана ниже)
n+11 байт 0DH в качестве терминатора

n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Описание поля таблицы
Байт Содержание Описание
0-1011 байтИмя поля в ASCII (заполнено нулями).
111 байт Тип поля в ASCII (C, D, F, L, M или N)
12-154 байта Зарезервированная область
161 байт Размер поля в бинарном формате
171 байт Порядковый номер поля в бинарном формате
18-192 байта Зарезервированная область
201 байт ID рабочей области
21-3010 байт Зарезервированная область
311 байт Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет.




Заголовок табличного файла
Байт Содержание Описание
01-й байтКонтроль файла dBASE под Windows: биты 0-2 указывают номер версии, бит 3 - наличие MEMO-файла dBASE IV или dBASE под Windows, биты 4-6 - наличие dBASE IV SQL-таблицы, бит 7 - наличие любого .DBT MEMO-файла (MEMO-файл таблицы dBASE III Plus, dBASE IV или dBASE под Windows)
1-33 байта Дата последнего обновления в формате YYMMDD
4-732-битное число Количество записей в таблице
8-916-битное число Количество байтов, занимаемых заголовком
10-1116-битное число Количество байтов, занимаемых записью
12-132 байта Зарезервированная область, заполнена нулями
141 байт Флаг, указывающий на наличие незавершенной транзакции
151 байт Флаг кодировки
16-2712 байт Зарезервированная область для многопользовательского использования
281 байт Флаг наличия MDX-файла: 01H - файл присутствует, 00H - файл отсутствует
291 байт ID драйвера языка
30-312 байта Зарезервированная область, заполнена нулями
32-n*по 32 байта Массив с описаниями полей (структура каждого такого описания показана ниже)
n+11 байт 0DH в качестве терминатора

n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Описание поля таблицы
Байт Содержание Описание
0-1011 байтИмя поля в ASCII (заполнено нулями).
111 байт Тип поля в ASCII (B, C, D, F, G, L, M или N)
12-154 байта Зарезервированная область
161 байт Размер поля в бинарном формате
171 байт Порядковый номер поля в бинарном формате
18-192 байта Зарезервированная область
201 байт ID рабочей области
21-3010 байт Зарезервированная область
311 байт Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет.




Заголовок табличного файла
Байт Содержание Описание
01-й байтКонтроль файла dBASE под Windows: биты 0-2 указывают номер версии, бит 3 - наличие MEMO-файла dBASE IV или dBASE под Windows, биты 4-6 - наличие dBASE IV SQL-таблицы, бит 7 - наличие любого .DBT MEMO-файла (MEMO-файл таблицы dBASE III Plus, dBASE IV или dBASE под Windows)
1-33 байта Дата последнего обновления в формате YYMMDD
4-732-битное число Количество записей в таблице
8-916-битное число Количество байтов, занимаемых заголовком
10-1116-битное число Количество байтов, занимаемых записью
12-132 байта Зарезервированная область, заполнена нулями
141 байт Флаг, указывающий на наличие незавершенной транзакции dBASE IV
151 байт Флаг кодировки таблицы dBASE IV
16-2712 байт Зарезервированная область для многопользовательского использования
281 байт Флаг наличия MDX-файла: 01H - файл для данной таблицы присутствует, 00H - файл отсутствует
291 байт ID драйвера языка
30-312 байта Зарезервированная область, заполнена нулями
32-nпо 32 байта Массив с описаниями полей (структура данного массива показана ниже)
n+11 байт 0DH в качестве терминатора

n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Описание поля таблицы
Байт Содержание Описание
0-1011 байтИмя поля в ASCII (заполнено нулями).
111 байт Тип поля в ASCII (B, C, D, F, G, L, M или N)
12-154 байта Зарезервированная область
161 байт Размер поля в бинарном формате
171 байт Порядковый номер поля в бинарном формате
18-192 байта Зарезервированная область
201 байт ID рабочей области
21-3010 байт Зарезервированная область
311 байт Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет.



Содержание раздела