Таблиці dBASE: Структура .DBF-файлу
Іноді виникає необхідність попрацювати з таблицею dBASE безпосередньо, без Borland Database Engine (BDE). Наприклад, якщо .DBT-файл (що містить MEMO-дані) для даної таблиці безповоротно втрачено. DBF-файл стає абсолютно непридатним, оскільки байт в заголовку .DBF-файлу вказує, що таблиця повинна містити відповідний MEMO-файл. Вирішення цієї проблеми потребує обнулення цього байта, для того щоб таблиця не вказувала на супутній MEMO-файл. Або, якщо Вам захотілося написати власну програму для роботи з даними.
Нижче наводиться структура .DBF-файлів для таблиць dBASE. Представлені структури файлів для різних версій dBASE: dBASE III PLUS 1.1, dBASE IV 2.0, dBASE 5.0 під DOS і dBASE 5.0 для Windows.
Структура заголовка файлу даних для таблиці dBASE III PLUS.
Тема табличного файлу
Всі символи кодової сторінки OEM (внутрішній формат запису - 10 цифр, що містять номер .DBT-блоку)
Бінарние-, MEMO-, OLE-поля і .DBT-файли
MEMO-поля зберігають дані в .DBT-файлах, що складаються з перераховуються послідовних блоків (0, 1, 2 і т.д.). Розмір блоку дорівнює 512 байт. Перший блок в .DBT-файлі (нульовий блок) - заголовок .DBT-файлу.
MEMO-поле кожного запису .DBF-файлу містить номер (значення вказується в кодової сторінці OEM), який вказує на блок з збереженими даними. Якщо поле не містить ніяких даних. DBF-файл буде заповнений пробілами (20h) (а не числами).
У разі зміни даних будь-якого поля, блоки можуть змінити свої порядкові номери для відображення нової позиції даних в .DBT-файлі.
Дана інформація взята з керівництва по використанню dBASE III Plus ( "Using dBASE III PLUS", Appendix C).
Структура заголовка файлу даних для таблиці dBASE IV 2.0.
Тема табличного файлу
Контроль файлу 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)
Дата останнього оновлення в форматі YYMMDD
байт Прапор MDX-поля: 01H якщо поле має мітку індексу в MDX-файлі, 00H - немає.
Записи в табличному файлі розташовуються безпосередньо за заголовком таблиці. Даним записи передує байт, який вказує на віддаленість записи: значення 20h (пропуск) вказує що запис не очищено, значення 2Ah (зірочка) - заголовок був вилучений. Поля упаковуються записами без роздільників полів або термінаторів записи. Кінець файлу позначається єдиним байтом (з EOF-маркером), OEM-код якого відповідає значенню 26 (1Ah).
Допустимий тип даних таблиць dBASE
Всі символи кодової сторінки OEM
Числа і символ-роздільник для місяця, дня і року (внутрішній формат запису - 8 цифр у форматі YYYYMMDD)
F (Бінарні числа з плаваючою точкою)
байт Прапор MDX-поля: 01H якщо поле має мітку індексу в MDX-файлі, 00H - немає.
Записи в табличному файлі розташовуються безпосередньо за заголовком таблиці. Даним записи передує байт, який вказує на віддаленість записи: значення 20h (пропуск) вказує що запис не очищено, значення 2Ah (зірочка) - заголовок був вилучений. Поля упаковуються записами без роздільників полів або термінаторів записи. Кінець файлу позначається єдиним байтом (з EOF-маркером), OEM-код якого відповідає значенню 26 (1Ah). Ви можете ввести дані в кодової сторінці OEM як показано нижче.
Допустимий тип даних таблиць dBASE
Всі символи кодової сторінки OEM
Числа і символ-роздільник для місяця, дня і року (внутрішній формат запису - 8 цифр у форматі YYYYMMDD)
F (Бінарні числа з плаваючою точкою)
Всі символи кодової сторінки 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.
Тема табличного файлу
байт Прапор MDX-поля: 01H якщо поле має мітку індексу в MDX-файлі, 00H - немає.
Записи в табличному файлі розташовуються безпосередньо за заголовком таблиці. Даним записи передує байт, який вказує на віддаленість записи: значення 20h (пропуск) вказує що запис не очищено, значення 2Ah (зірочка) - заголовок був вилучений. Поля упаковуються записами без роздільників полів або термінаторів записи. Кінець файлу позначається єдиним байтом (з EOF-маркером), OEM-код якого відповідає значенню 26 (1Ah). Ви можете ввести дані в кодової сторінці OEM як показано нижче.
Допустимий тип даних таблиць dBASE
Всі символи кодової сторінки OEM (внутрішній формат запису - 10 цифр, що містять номер .DBT-блоку).
Всі символи кодової сторінки OEM
Числа і символ-роздільник для місяця, дня і року (внутрішній формат запису - 8 цифр у форматі YYYYMMDD)
Всі символи кодової сторінки OEM або OLE (внутрішній формат запису - 10 цифр, що містять номер .DBT-блоку).
-. 0 1 2 3 4 5 6 7 8 9
Y y N n T t F f (? - Не ініціалізацію)
Всі символи кодової сторінки OEM (внутрішній формат запису - 10 цифр, що містять номер .DBT-блоку)
Бінарні, МЕМО, OLE-поля і .DBT-файли
Бінарні, MEMO і OLE-поля зберігають дані в .DBT-файлах, що складаються з перераховуються послідовних блоків (0, 1, 2 і т.д.). Мінлива BLOCKSIZE визначає розмір кожного блоку. Перший блок в .DBT-файлі (нульовий блок) - заголовок .DBT-файлу.
Бінарне, OLE- або MEMO-поле кожного запису .DBF-файлу містить номер (значення вказується в кодової сторінці OEM), який вказує на блок з збереженими даними. Якщо поле не містить ніяких даних. DBF-файл буде заповнений пробілами (20h) (а не числами).
У разі зміни даних будь-якого поля, блоки можуть змінити свої порядкові номери для відображення нової позиції даних в .DBT-файлі.
Якщо ви видаляєте текст в бінарному, OLE- або МЕМO-поле, на відміну від dBASE III PLUS і dBASE IV, таблиця dBASE 5.0 під Windows для введення нового тексту використовує віддалену область. dBASE III PLUS завжди додає новий текст у кінець .DBT-файлу. У dBASE III PLUS розмір .DBT-файлу зростає щоразу при додавання нового тексту, навіть якщо перед цим текст був вилучений.
Дана інформація взята з довідника по dBASE під Windows ( "dBASE for Windows Language Reference manual", Appendix C).
Попередження: У Вас є право використовувати дану технічну інформацію з продуктом фірми Borland тільки в разі, коли це не суперечить Ліцензійного договору, що поставляється з програмним продуктом.
Поділіться на сторінці
Схожі глави з інших книг
Установка розміру файлу, ініціалізація файлу і розріджені файли Функція SetEndOfFile дозволяє перевстановити розмір файлу, використовуючи поточне значення покажчика файлу для визначення його розміру. Можливо як розширення, так і усічення файлу. У разі розширення файлу
8.1. Структура файлу rc.firewall.txt Всі сценарії, описані в цьому посібнику, мають певну структуру. Зроблено це для того, щоб сценарії були максимально схожі один на одного, полегшуючи тим самим пошук відмінностей між ними. Ця структура досить добре описується в
1.8. Таблиці Таблиці поміщаються в тексті в порядку посилання на них після закінчення того абзацу, в якому таблиця була вперше згадана. Вони нумеруються арабськими цифрами всередині кожного розділу. У правому верхньому куті таблиці над заголовком записують слово «Таблиця» і
Таблиці У цьому підрозділі розглянуті наступні теми: • редагування та форматування таблиць; • робота з даними в табліце.На форматування таблиці у мене зазвичай йде більше часу, ніж на її створення. Чи можна автоматизувати цей процес? Форматування таблиці
Структура таблиці Дуже часто застосування структури таблиці може спростити пошук і роботу з потрібними даними. Припустимо, ви створюєте прайс-лист, в якому містяться товари найрізноманітніших груп. Цей прайс-лист буде включати заголовки груп товарів, можливо, заголовки
Таблиці Команда TABLE здійснює створення порожній таблиці об'єктів в кресленні. Викликається команда з падаючого меню Draw. Table ... або клацанням на піктограмі Table ... на панелі інструментів Draw. В результаті відкривається діалогове вікно вставки таблиці Insert Table - рис. 10.7. Мал. 10.7.
3.1.1. Структура crontab у форматі .pdf Щоб планувати виконання завдань у певний час, потрібно знати формат записів в crontab-файлі. Кожен запис містить шість полів; 1 Хвилини - 0-59 2 Годинники - 0-23 (0 означає опівночі) 3 День місяця - 1-31 4 Місяць - 1-12 5 День тижні - 0-7
2.6. Таблиці 2.6.1. Цифровий матеріал для досягнення кращої наочності і порівнянності показників, як правило, слід оформляти у вигляді табліци.2.6.2. Оформлення таблиць повинно проводитися відповідно до вимог ГОСТ 1.5-85.Табліца може мати заголовок, який слід
§ 2.1 Структура файлу FictionBook. Базові поняття Книга FictionBook є XML-файл.Структурно цей файл можна розділити на три часті.1) Desсription - заголовок (опис) книги; 2) Body - безпосередньо текст книги. У книзі може бути кілька body.3) Binary - необов'язкова частина.