Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11689
Последний выпуск: 19.06.2015

FPT

Файл типа memo содержит одну запись заголовка и произвольное число блочных структур. В записи заголовка располагается указатель на следующий свободный блок и размер блока в байтах. Размер устанавливается командой SET BLOCKSIZE при создании файла. Запись заголовка начинается с нулевой позиции файла и занимает 512 байтов.

За записью заголовка следуют блоки, в которых содержатся заголовок блока и текст memo. В файл базы данных включены номера блоков, которые используются для ссылки на блоки memo. Расположение блока в файле типа memo определяется умножением номера блока на размер блока (находящийся в записи заголовка файла типа memo). Все блоки memo начинаются с четных адресов границ блоков. Блок memo может занимать более, чем один последовательный блок.

struct memoheader {
   long nextblok;         // Расположение следующего свободного блока (*)
   int reserved;          // Не используются
   int blocksize;         // Размер блока (число байтов в блоке)
   char reserved1[503];   // Не используются
}

struct MemoBlockHeader {  // Заголовок блока memo и текст memo
   long id;               // Сигнатура блока* (указывает тип данных в блоке):
                          //  а. 0 - шаблон (поле типа шаблон);
                          //  б. 1 - текст (поле типа memo)
   long length;           // Длина (*) memo (в байтах)
   char [length];         // Текст memo (length=длина)
}

Структура файла memo в системе FoxBASE+ (типа .DBT)

Файлы memo в системе FoxBASE+ не обладают многосторонностью файлов memo системы FoxPro. В них могут содержаться только текстовые данные в коде ASCII.

В данный файл записи выводятся блоками, каждый размером 512 байтов. В блок, начинающийся с нулевой позиции файла, включен номер блока, соответствующий первой свободной позиции в файле. Этот номер блока хранится в первых двух байтах в обратном порядке (формат Intel 8086). Для того, чтобы найти адрес первого свободного блока, надо размер одного блока (512 байтов) умножить на номер блока.

Блоки, которые следуют за первым блоком, содержат текст полей memo из связанной базы данных. В поле memo в файле базы данных содержится номер блока в файле типа memo, который содержит настоящий текст. Все блоки memo начинаются с адресов, границы которых кратны 512 байтам.


DBF | IDX | CDX

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог