Структура заголовка файла данных для таблицы dBASE III PLUS.
Заголовок табличного файла | ||
Байт | Содержание | Описание |
0 | 1-й байт | Определение наличия MEMO-файла в таблице dBASE III PLUS (03h без MEMO-файла (.DBT-файл;) 83h с MEMO-файлом). |
1-3 | 3 байта | Дата последнего обновления в формате YYMMDD |
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-14 | 3 байта | Зарезервированная область |
15-27 | 13 байт | Зарезервировано для сетевой версии dBASE III PLUS |
28-31 | 4 байта | Зарезервированная область |
32-n | 32 байта | Массив с описаниями полей (структура каждого такого описания показана ниже) |
n+1 | 1 байт | Хранится значение 0Dh, выполняющее роль терминатора описаний полей |
n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (C, D, L, M или N) |
12-15 | 4 байта | Адрес данных поля (ссылка на память, а не на диск) |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервировано для сетевой версии dBASE III PLUS |
20 | 1 байт | ID рабочей области |
21-22 | 2 байта | Зарезервировано для сетевой версии dBASE III PLUS |
23 | 1 байт | Флаг установки поля |
24-31 | 1 байт | Зарезервированная область |
Структура файла | ||
Байт | Содержание | Описание |
0 | 1-й байт | Контроль файла dBASE IV: биты 0-2 указывают номер версии, бит 3 - наличие MEMO-файла dBASE IV, биты 4-6 - наличие SQL-таблицы, бит 7 - наличие любого MEMO-файла (или dBASE III Plus, или dBASE IV) |
1-3 | 3 байта | Дата последнего обновления в формате YYMMDD |
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-13 | 2 байта | Зарезервированная область, заполнена нулями |
14 | 1 байт | Флаг, указывающий на наличие незавершенной транзакции |
15 | 1 байт | Флаг кодировки |
16-27 | 12 байт | Зарезервированная область для многопользовательского использования dBASE IV |
28 | 1 байт | Флаг наличия MDX-файла: 01H - файл присутствует, 00H - файл отсутствует |
29 | 1 байт | ID драйвера языка |
30-31 | 2 байта | Зарезервированная область, заполнена нулями |
32-n* | по 32 байта | Массив с описаниями полей (структура каждого такого описания показана ниже) |
n+1 | 1 байт | 0DH в качестве терминатора |
n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (C, D, F, L, M или N) |
12-15 | 4 байта | Зарезервированная область |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервированная область |
20 | 1 байт | ID рабочей области |
21-30 | 10 байт | Зарезервированная область |
31 | 1 байт | Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет. |
Заголовок табличного файла | ||
Байт | Содержание | Описание |
0 | 1-й байт | Контроль файла 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-3 | 3 байта | Дата последнего обновления в формате YYMMDD |
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-13 | 2 байта | Зарезервированная область, заполнена нулями |
14 | 1 байт | Флаг, указывающий на наличие незавершенной транзакции |
15 | 1 байт | Флаг кодировки |
16-27 | 12 байт | Зарезервированная область для многопользовательского использования |
28 | 1 байт | Флаг наличия MDX-файла: 01H - файл присутствует, 00H - файл отсутствует |
29 | 1 байт | ID драйвера языка |
30-31 | 2 байта | Зарезервированная область, заполнена нулями |
32-n* | по 32 байта | Массив с описаниями полей (структура каждого такого описания показана ниже) |
n+1 | 1 байт | 0DH в качестве терминатора |
n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (B, C, D, F, G, L, M или N) |
12-15 | 4 байта | Зарезервированная область |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервированная область |
20 | 1 байт | ID рабочей области |
21-30 | 10 байт | Зарезервированная область |
31 | 1 байт | Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет. |
Заголовок табличного файла | ||
Байт | Содержание | Описание |
0 | 1-й байт | Контроль файла 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-3 | 3 байта | Дата последнего обновления в формате YYMMDD |
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-13 | 2 байта | Зарезервированная область, заполнена нулями |
14 | 1 байт | Флаг, указывающий на наличие незавершенной транзакции dBASE IV |
15 | 1 байт | Флаг кодировки таблицы dBASE IV |
16-27 | 12 байт | Зарезервированная область для многопользовательского использования |
28 | 1 байт | Флаг наличия MDX-файла: 01H - файл для данной таблицы присутствует, 00H - файл отсутствует |
29 | 1 байт | ID драйвера языка |
30-31 | 2 байта | Зарезервированная область, заполнена нулями |
32-n | по 32 байта | Массив с описаниями полей (структура данного массива показана ниже) |
n+1 | 1 байт | 0DH в качестве терминатора |
n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (B, C, D, F, G, L, M или N) |
12-15 | 4 байта | Зарезервированная область |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервированная область |
20 | 1 байт | ID рабочей области |
21-30 | 10 байт | Зарезервированная область |
31 | 1 байт | Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H - нет. |