Структура файлов таблиц (.DBC, .DBF, .FRX, .LBX, .MNX, .PJX, .SCX, .VCX)
См. также
Table (.DBF) таблица
Database (.DBC) база данных
Form (.SCX) форма
Label (.LBX) этикетка
Menu (.MNX) меню
Project (.PJX) проект
Report (.FRX) отчет
Visual Class Library (.VCX) библиотека визуальных классов
Поскольку эти файлы фактически являются таблицами, вы можете использовать и п
осматривать их точно так же, как и любой файл .DBF.
Файл таблицы состоит из записи заголовка и записей данных. Запись заголовка оп
еделяет структуру таблицы и содержит прочую информацию, относящуюся к таблице.
Она начинается с нулевой позиции файла. Записи данных
Подробнее о табличной структуре файлов различных типов см. раздел Табличные структуры для файлов таблиц (.DBC, .FRX, .LBX, .MNX, .PJX, .SCX,
.VCX).
Длина записи (в байтах) определяется путем сложения указанных длин всех ее по
ей. Целые числа в файлах таблиц хранятся в форме, предусматривающей размещение
первым наименее значащего байта.
Структура записи заголовка таблицы
Смещение в байтах
| Описание
|
0
| Тип файла
0x02 FoxBASE 0x03 FoxBASE+/dBASE III PLUS, без memo-поля 0x30 Visual FoxPro 0x43 Файлы таблиц dBASE IV SQL, без memo-поля 0x63 Системные файлы dBASE IV SQL, без memo-поля 0x83 FoxBASE+/dBASE III PLUS, с memo-полем 0x8B dBASE IV с memo-полем 0xCB Файлы таблиц dBASE IV SQL, с memo-полем 0xF5 FoxPro версии 2.x (или более ранней) с memo-полем 0xFB FoxBASE |
1 ... 3
| Дата последнего обновления (YYMMDD)
|
4 ... 7
| Число записей в файле
|
8 ... 9
| Позиция первой записи данных
|
10 ... 11
| Длина одной записи данных (включая флаг удаления)
|
12 ... 27
| Зарезервировано
|
28
| Флажки таблиц
0x01 файл содержит .CDX 0x02 файл содержит memo-поля 0x04 файл является базой данных (.DBC) Следует отметить, что данный байт может содержать любую сумму предшестующих з ачений. Например, 0х03 обозначает таблицу, имеющую структурированный файл .CDX и поле типа Memo. |
29
| Маркер кодовой страницы
|
30 ... 31
| Зарезервировано, содержит 0x00
|
32 ... n
| Подзаписи полей
Количество подзаписей полей определяется числом полей. Для каждого табличного поля имеется одна подзапись поля. |
n+1
| Признак конца заголовка записи (0x0D)
|
n+2 ... n+264
| 263-байтная область, содержащая информацию обратной связи с базой данных (от
осительный путь к соответствующей базе данных .DBC). Если первый байт имеет з
ачение 0x00, то данный файл не связан с базой данных. Следовательно, сами файлы
аз данных всегда содержат 0x00.
|
Структура подзаписи поля
Смещение в байтах
| Описание
|
0 ... 10
| Имя поля (не более 10 символов меньшее количество дополняется нуль-символами (0x00))
|
11
| Тип поля:
C Character (символьный) Y Currency (валютный) N Numeric (числовой) F Float (плавающий) D Date (дата) T DateTime (дата/время) B Double (двойной) I Integer (целый) L Logical (логический) M Memo G General C Character (символьный двоичный) M Memo (memo двоичный) P Picture (рисунок) |
12 ... 15
| Смещение поля в записи
|
16
| Длина поля (в байтах)
|
17
| Число знаков дробной части
|
18
| Флажки поля
0x01 Системный столбец (невидимый для пользователя) 0x02 Столбец может содержать нуль-значения 0x04 Двоичный столбец (только для полей CHAR и MEMO) |
19 ... 32
| Зарезервировано
|
Замечания
Visual FoxPro версии 3.0 не модифицирует заголовок файла, сохраненного в фо мате FoxPro 2.x, если только файл не был дополнен следующими возможностями:
Поддержка нуль-значений
Типы данных DateTime (дата/время), Currency (валютный) и Double (двойной)
Поле типа CHAR или MEMO, помеченное как Binary (двоичное)
Таблица включается в базу данных (файл .DBC)
Совет Для получения количества полей в файле таблицы можно воспользоваться сле ующей формулой:
(x 296/32)
где:
x = позиция первой записи (байты 89 в записи заголовка таблицы)
296 = 263 (информация обратной связи) + 1 (признак конца записи заголовка) +
32 (подзапись первого поля)
32 = длина подзаписи поля
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.