Допустимый тип данных таблиц dBASE
Тип данных Возможные значения
C (Символы) Все символы кодовой страницы OEM
D (Дата) Числа и символ-разделитель для месяца, дня и года (внутренний формат записи – 8 цифр в формате YYYYMMDD)
F (Бинарные числа с плавающей точкой) – . 0 1 2 3 4 5 6 7 8 9
N (Числовой) – . 0 1 2 3 4 5 6 7 8 9
L (Логический) ? Y y N n T t F f (? – не инициализировано)
M (Мемо) Все символы кодовой страницы OEM (внутренний формат записи – 10 цифр, содержащих номер .DBT-блока)
MEMO-поля и .DBT-файлы

MEMO-поля хранят данные в .DBT-файлах, состоящих из перечисляемых последовательных блоков (0, 1, 2 и т.д.). Переменная BLOCKSIZE определяет размер каждого блока. Первый блок в .DBT-файле (нулевой блок) – заголовок .DBT-файла.

MEMO-поле каждой записи .DBF-файла содержит номер (значение указывается в кодовой странице OEM), указывающий на блок с хранимыми данными. Если поле не содержит никаких данных, .DBF-файл будет заполнен пробелами (20h) (а не числами).

В случае изменения данных какого-либо поля, блоки могут изменить свои порядковые номера для отображения новой позиции данных в .DBT-файле.

Если вы удаляете текст в МЕМO-поле, в отличие от dBASE III PLUS, таблица dBASE 5.0 под DOS для ввода нового текста использует удаленную область. dBASE III PLUS всегда добавляет новый текст в конец .DBT-файла. В dBASE III PLUS размер .DBT-файла растет всякий раз при добавления нового текста, даже если перед этим текст был удален.

Данная информация взята из справочника по dBASE под DOS ("dBASE for DOS Language Reference manual", Appendix C).

Структура заголовка файла данных для таблицы dBASE 5.0 под Windows.
Заголовок табличного файла
БайтСодержаниеОписание
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 - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Перейти на страницу:

Похожие книги