Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Базы Данных    >>    dbf_str
   
 
 Структура DBF файлов  Евгений Таратухин 05.02.1994

Краткое описание структуры DBF файлов



1k 
 

From: Eugen Taratukhin <eugen@eugenhm.riak.lugansk.ua> Organization: K&K Agency >From: Igor O. Rosselevich <igor_new@mltrading.spb.su> >У меня возникла проблемма связанная со структурой DBF файлов. >Неподскажет ли кто из чего эти файлы состоят,и как их создать >в Паскале. >Может у кого есть что-нибудь готовое? Надеюсь, эта информация будет полезной. В DBF файле сначала идет заголовок, затем дескрипторы полей, затем содержимое базы. Далее следуют описания заголовка и дескриптора поля. Запись имеет структуру описанную дескрипторами полей, но начальным байтом идет признак уделенной записи '*' или ' '. { Структура заголовка файла DBF (по материалам: R.Freeland "The DBF divulged", Data Based Advisor, June, 1990) } DBFHeader = record Version : byte; { Заголовочный байт } yy,mm,dd : byte; { Дата последнего обновления файла } MaxRecs : longint; { Число записей в файле, вместе с уд-ми } HplusD : word; { Общая дина заголовка и списка д-ров полей } RecLen : word; { Длина одной записи } Reserv1 : integer; { Зарезервировано } HoldTrans : byte; { Флаг задержки по транзакции } Res2 : array[15..27] of byte; { Зарезервировано } IsMDX : byte; { Признак подключения MDX-файла} Res3 : array[29..31] of byte; { Зарезервировано } end; { Структура дескриптора поля в файле DBF (по материалам: R.Freeland "The DBF divulged", Data Based Advisor, June, 1990) } Type FieldDesc = record Name : array [1..11] of byte; { Имя поля } Typ : char; { Тип } Res : longint; { Резерв } Len : byte; { общая длина поля } Dec : byte; { число цифр после дес.точки } Res2 : array[1..13] of byte; { Резерв } Tag : byte; { Признак тага MDX } end; -- # Eugen Taratukhin, Advertising & News Agency K&K # Node RIAK, ingeneer. +7 (06444) 32185 (voice).