Открытие файлов формата dbf

Формат файла DBF – описание, как открыть?

Файлы формата DBF открываются специальными программами. Существует 2 типа форматов DBF, каждый из которых открывается разными программами. Чтобы открыть нужный тип формата, изучите описания файлов и скачайте одну из предложенных программ.

Расширение DBF делится на две основные категории: 

DBF формат (полн. dataBased Intelligence) повсеместно применяется, как файл базы данных в большинстве программных приложений. Данное расширение эффективно используется в качестве типового метода для хранения и передачи данных в виде систем управления базами данных (СУБД), электронных таблиц и т.д. 

На протяжении достаточно долгого времени (начиная с 1980 года), данный формат представления информации (известный, как Dbase) был одним из самых популярных для СУБД микрокомпьютеров и смежного с ним программно-технического оборудования, включая Apple, UNIX и IBM PC. 

В основе структуры стандартного DBF файла лежит электронная таблица, содержащая определенное количество полей данных фиксированной длины, заголовок и фактические записи. Самое первое поле – это набор структурированных данных с информацией об удалении записи (символ “звездочка”). Примечательно, что после удаления той или иной записи, ее можно восстановить или уже удалить безвозвратно.  

DBF расширение, являющееся файлом табличного представления базы данных Oracle. Являясь объектно-реляционной СУБД, данный формат универсален для своего применения и может одинаково эффективно использоваться как на базе ОС Windows, так и Unix. Данные в таком DBF файле хранятся в виде “табличных пространств”, создаваемых интегрированными командами Oracle CREATE/ALTER TABLESPACE. 

Данный формат имеет множество различных исполнений и модификаций, порой даже несовместимых друг с другом. Так, например, DBF, разработчиком которого является ESRI, далек от типового представления СУБД и являет собой набор пространственных данных в геоинформационной системе.

Таким образом, единый стандарт (технология) представления DBF формата отсутствует. Это создает пользователю определенные трудности в части открытия и редактирования файла.

 Иногда в комплекте с DBF расширением идет файл DBT, который не работает автономно, является вспомогательным и открывается только в совокупности с DBF.

Программы для открытия DBF файлов 

В зависимости от исполнения и области своего практического применения, DBF расширение может генерироваться и редактироваться следующими программными приложениями: 

  • в ОС Windows используются dBase, Microsoft Access, Microsoft Excel, Microsoft Visual FoxPro, Microsoft Works, Corel Quattro Pro, Apache OpenOffice, HiBase Group DBF Viewer, Astersoft DBF Manager, DBF Viewer Plus, DBFShow, DBF Navigator, WinDBFView, Sage ACT, CGF Shop Data Management Center, Alpha Software Alpha Anywhere, OpenOffice.org Calc, ArcGIS, Arago, AbacusLaw, CA-dBFast, Wordtech, Alpha Five, iAnywhere, NovaBACKUP, The Network Diary, FLARE, ACDSee;
  • в ОС Mac могут применяться Planamesa NeoOffice, Apache OpenOffice, GTK DBF Editor, OpenOffice.org Calc;
  • в Linux: Apache OpenOffice, GTK DBF Editor, multisoft FlagShip. 

Если при открытии расширения DBF возникает ошибка, причины могут заключаться в следующем: 

  • поврежден или инфицирован файл;
  • файл не связан с реестром ОС (выбрано некорректное приложение для воспроизведения или не произведена инсталляция конкретного плагина);
  • недостаточно ресурсов устройства или ОС; 
  • поврежденные или устаревшие драйвера.

Конвертация DBF в другие форматы

В каждом конкретном случае структура и область практического использования DBF расширения уникальны. Для конвертации формата принято применять именно тот программный продукт, с помощью которого производилась генерация.

Однако, самым популярным способом трансляции файла принято считать преобразование DBF в MDB. MDB – формат представления электронных таблиц Microsoft Access. Обладая достаточно мощным интегрированным конвертором, Access может транслировать данные практически без потерь и повреждений. 

Конвертация DBF расширения в другие форматы практически не практикуется. 

Почему именно DBF и в чем его достоинства?

DBF расширение – один из самых популярных и востребованных форматов для хранения и передачи данных в виде систем управления базами данных (СУБД), электронных таблиц и.т.д. 

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

Для качественной обработки и редактирования формата строго рекомендуется использовать то программное приложение, с помощью которого производилась генерация файла.

Расширение файла DBF — что это такое?

Файлы в данном формате используют для хранения различных данных, а также в качестве передачи разнообразной информации между системами управления (таблицы, базы данных, отчеты и т.д.).

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

Таким образом, сложно утверждать, из-за отсутствия стандартизации, что новые программы будут свободно распознавать любой файл с таким расширением. Однако общая база все же сохранена:

Исходя из этого, можно сделать вывод, что не зная точно программу, на которой создавался файл, процесс открытия превращается в увлекательную головоломку. Хотя и существует перечень универсальных программ и редакторов, который представлен ниже.

1. Универсальным средством для чтения формата является Excel.

2. WinDBFview — бесплатная программа для просмотра и редактирования файлов с расширением DBF. Более современные версии содержат встроенную опцию просмотра адресных классификаторов.

3. Database Workshop — это редактор базы данных. Его основными функциями являются: просмотр, редактирование и экспорт таблиц в различные форматы. Эта программа отличается универсальностью, широким спектром функциональных возможностей и простотой, что делает ее полезной как профессионалам, так и обычным пользователям.

4. CDBF — это мощный софт, который дает возможность совершать различные операции с содержимым, не прибегая к программированию. Помимо всего, вы можете расширить функционал путем установки плагинов, а также вводить ваши данные и создавать новые отчеты на встроенном редакторе.

5. СТМ-Проводник данных обеспечивает следующие возможности:

6. DBF SEE — бесплатный простой и удобный просмотрщик, поддерживающий редактирование и кодировку таблиц.

7. DBREdit — редактор таблиц и баз данных DBF, предназначенный для работы без использования дополнительных драйверов и систем доступа. Программа поддерживает работу с dBaseIII+, dBaseIV, dBaseV, dBaseVII, FoxPro, VisualFoxPro и таблицами собственноручной авторской разработки. Кроме того, DBREdit обеспечивает возможность объединенной работы нескольких компьютеров на базе с общим доступом.

8. Редактор DBF — это редактор и просмотрщик файлов с расширением DBF, обеспечивающий возможность различных операций с базами данных, в том числе импорт и экспорт. Поддерживает форматы dBase III, dBase IV, FoxPro, Visual FoxPro и Clipper.

9. DBFViewer обеспечивает функции редактирования, быстрого просмотра и печати документов DBF с форматами dBase, Clipper, Foxpro, Visual Foxpro, Visual Dbase. Кроме того имеются следующие опции:

10. DBFNavigator 2.01 — это софт от Windows, обеспечивающий следующие возможности:

Вашему вниманию представлен список наиболее популярных программ. Надеюсь, предоставленная информация оказалась вам полезной. До скорых встреч!

Источник

Проблемы Excel при работе с DBF

В Excel 2003 была возможность открыть и редактировать DBF , а также сохранять в этом формате документы XLS:

  1. На панели меню выбрать «Файл».
  2. Далее, нажать «Сохранить как».
  3. Выбрать из выпадающего списка «*.dbf».

ВАЖНО. Начиная с 2007 года вы можете открыть и просмотреть в Excel формат баз данных, но не можете вносить изменения, а также сохранять в нём документы.xls

Стандартные средства программы больше не предусматривают такой возможности.

Однако существуют специальные надстройки для приложения, добавляющие ему такую функцию. В сети на различных форумах программисты выкладывают свои разработки, можно найти разные варианты. Наиболее популярную надстройку, которая называется XslToDBF, можно скачать с сайта разработчика https://basile-m.narod.ru/xlstodbf/download.html. Загрузка бесплатная, но по желанию можно поддержать проект, перечислив любую сумму на кошелёк или карту.

Установка и использование:

  1. Скачайте архив с указанного выше сайта.
  2. Извлеките из него XlsToDBF.xla и сохраните на своём компьютере.
  3. В Excel зайдите в меню кнопкой со значком Майкрософт слева, «Параметры».
  4. В разделе «Параметры Excel» выберите «Надстройки».
  5. В строке «Управление/Надстройки Excel» нажмите «Перейти».
  6. Нажмите «Обзор» и укажите сохранённый XlsToDBF.xla.
  7. В списке надстроек должна появиться запись «XLS -> DBF» с поставленной галочкой проверки. Отметьте, если её нет.
  8. Теперь вы можете сохранять.xls в формат.dbf. С того же сайта можно скачать подробную инструкцию по использованию. Главное, правильно подготовить табличные данные.
  9. После того как таблица готова, выберите любую заполненную ячейку и нажмите Alt и F
  10. В открывшемся окне макроса в поле наберите XlsToDBF, регистр не важен.
  11. Нажмите «Выполнить».
  12. Если вы правильно подготовили и оформили данные, то в папке, где находится исходный XLS, будет сохранён и файл базы данных.

Если вы не хотите ничего менять в Office, не доверяете надстройкам и сторонним приложениям, то можно предложить более трудоёмкий способ преобразовать файл XLS в DBF:

  1. Приобретите и установите программу Microsoft Access.
  2. В Excel подготовьте и сохраните документ.
  3. Нажмите кнопку «Открыть» в MS Access и выберите файл.
  4. Теперь нужно корректно настроить импорт.
  5. Выберите лист, с которого начнёте. Если их несколько, всё равно придётся делать по одному.
  6. Если в таблице есть строка заголовков, поставьте соответствующую галочку.
  7. Далее, можно изменить имя таблицы.
  8. Теперь нажмите на «Внешние данные».
  9. Жмите кнопку «Экспорт», «Дополнительно».
  10. Выберите «Файл dBase».
  11. Укажите имя и место сохранения.

Такой способ не всегда работает удачно, часто возникают ошибки в обработке данных, в последующем сохранении. И он весьма долгий и неудобный.

DBF Инструмент анализа файлов™

Вы не уверены, какой тип у файла DBF? Хотите получить точную информацию о файле, его создателе и как его можно открыть?

Теперь можно мгновенно получить всю необходимую информацию о файле DBF!

Революционный DBF Инструмент анализа файлов сканирует, анализирует и сообщает подробную информацию о файле DBF. Наш алгоритм (ожидается выдача патента) быстро проанализирует файл и через несколько секунд предоставит подробную информацию в наглядном и легко читаемом формате.†

Уже через несколько секунд вы точно узнаете тип вашего файла DBF, приложение, сопоставленное с файлом, имя создавшего файл пользователя, статус защиты файла и другую полезную информацию.

Чтобы начать бесплатный анализ файла, просто перетащите ваш файл DBF внутрь пунктирной линии ниже или нажмите «Просмотреть мой компьютер» и выберите файл. Отчет об анализе файла DBF будет показан внизу, прямо в окне браузера.

Последний тюнинг известной обработки 1CQA (консоль прямых запросов 1С++) для 1С:Предприятие-77.

Авторы исходной версии: Дмитрий Ощепков (dmitro-75@mail.ru),
Ivan T Berezdetsky (berezdetsky@yahoo.com). В предлагаемой версии:
1) Добавлена возможность выбирать тип провайдера данных ODBC или OLEDB (только базы DBF);
2) Добавлена возможность редактировать текст запроса в диалоге конструктора запросов, предоставляемого объектом «AddIn.qryConsole» ВК qryConsole.dll (только базы SQL);
3) Расширен список типов объектов, которые могут принимать параметры запроса;
4)Добавлена возможность через параметры запроса укладывать списки ссылок объектов во временные таблицы (в том числе с иерархическим включением). Эти таблицы можно использовать в тексте запроса по имени ‘#<ИмяПараметра>’;
5) Добавлена возможность открывать обработку в режиме подбора (или имитации подбора) из других форм для подбора произвольных выборок данных из базы;
6) Сделано множество других улучшений (интерфейсных и пр.);

1 стартмани

Программы, работающие с DBF

Поскольку, как было сказано ранее, в Windows не определено сопоставление DBF конкретной программе, чтобы его открыть, необходимо:

  • Скачать специальное ПО. Выберите из многообразия программ то, что больше всего отвечает вашим целям.
  • Установить программу на компьютер.
  • В настройках программы поставить ассоциацию с файлами, имеющими расширение DBF, если это не было сделано автоматически в ходе установки.

Существуют два разных типа программ, что могут открыть формат DBF: средства программистов, которые на основании обработки баз создают утилиты для конечных пользователей, и программы для потребителей, работающих с базами данных на «бытовом» уровне.

Файл, имеющий формат DBF, можно открыть следующими программами.

Microsoft Access

Microsoft Access — система управления базами данных для обычных пользователей. Обладает удобным интерфейсом, простотой в управлении. Основными объектами Access являются:

  • таблицы;
  • запросы;
  • формы;
  • отчёты;
  • макросы и модули;
  • схема.

И также имеется встроенный язык программирования, расширяющий возможности приложения.

Visual FoxPro

Visual FoxPro — мощный инструмент, визуальная среда для создания СУБД от компании Майкрософт. Включает всё, что нужно для управления информацией:

  • средства упорядочивания таблиц;
  • средства обработки запросов;
  • возможности создания интегрированных СУБД;
  • инструменты разработки пользовательских приложений.

DBFView

DBFView — простой, но мощный инструмент открытия, редактирования, просмотра и печати. Поддерживает форматы DBF: dBase, Clipper, FoxPro, Visual FoxPro и многие другие. С помощью этого приложения можно добавлять, переименовывать, удалять, сортировать, упаковывать и просматривать записи, экспортировать в TXT и HTML, импортировать и экспортировать в Excel, а также конвертировать формат DBF в CSV и XLS-файлы.

DBF Viewer Plus

DBF Viewer Plus — не требующий установки простой редактор для работы с разными форматами DBF, включая dBase, Clipper, Foxpro. Позволяет открывать, просматривать данные, отфильтровывать записи, печать и предпросмотр таблиц, редактировать, добавлять и удалять записи, осуществлять расширенный поиск, создавать файлы, выполнять экспорт документов в форматы CSV, PDF, XLS, RTF, WKS, XML, HTML.

DBF Commander Professional

DBF Commander Professional — профессиональное средство редактирования и просмотра с поддержкой SQL-запросов.

Этот инструмент позволяет:

  • просматривать, создавать, редактировать, печатать DataBaseFile;
  • просматривать, редактировать и печатать структуру;
  • изменять кодировку;
  • поиск и замена с учётом регистра и частичными вхождениями;
  • экспорт в CSV, XLS, XML, HTML;
  • импорт из XML и CSV;
  • фильтрация записей и множественная сортировка;
  • подсчёт статистики;
  • работа с SQL;
  • поддержка командной строки и многие другие функции.

Таковы некоторые средства работы с файлами, имеющими формат DBF. Если вам нужно просто просмотреть содержимое, то скачайте одну из простых утилит с удобным интерфейсом. Если же планируете заниматься программированием и разработкой в среде управления базами данных, то приобретите профессиональный программный пакет с широким функционалом.

Записи таблицы

Записи в табличном файле располагаются непосредственно за заголовком таблицы. Данным записи предшествует байт, указывающий на удаленность записи: значение 20h (пробел) указывает что запись не удалена, значение 2Ah (звездочка) — запись была удалена. Поля упаковываются записями без разделителей полей или терминаторов записи. Конец файла помечается единственным байтом (с EOF-маркером), OEM-код которого соответствует значению 26 (1Ah). Вы можете ввести данные в кодовой странице OEM как показано ниже.

Допустимый тип данных таблиц 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).

Описание формата[ | ]

Сведения о формате версии 1, использованном в СУБД Vulcan, не сохранились. Известно только, что максимально допустимое число полей в записи данных было 16.

DBF версии 2

Длина заголовка 520 байт, значение номера версии (первый байт заголовка) — 2, максимальное количество полей в записи данных — 32.

№ Байта Значение
Version number
1−2 Число записей в файле (16−битное число Little endian)
3 Год даты последней модификации в файле
4 Месяц даты последней модификации в файле
5 День даты последней модификации в файле
6−7 Длина (каждой) записи данных в файле (16−битное число )
8−520 Массив описаний полей (32 элемента по 16 байт), завершающийся символом возврата каретки (HEX: OD ).

Если в структуре файла есть все 32 записи, 520-й байт — HEX: OD

записи БД
EOF Файл завершается символом EOF, HEX: 1A

Структура описания поля в массиве описаний полей. Размер: 16 байт.

№ Байта Значение
0−10 Имя поля: строка от одного до 10 символов множества «alnum» и завершающий нуль-символ (HEX: 00 ), обычно лишнее место заполняется нуль-символами.
11 Тип поля: C, N или L (символьное, числовое, логическое)
12 Длина поля
13−14 Адрес поля в памяти (англ. Field adress in memory)
15 Десятичный счётчик полей (англ. Field decimal count)

Запись начинается с признака удаления длиной в один байт. Запись помечена на удаление, если его значение равно «*» (HEX: 2a

, символ звёздочки). Нормальное значение — » » (пробел, HEX:20 ).

DBF версии 3

С версии dBase III+ формат файла DBF кардинально изменился:

  • главное изменение — заголовок переменной длины;
  • начальный байт содержит битовую маску: три младших бита — номер версии, бит 7 — наличие файла .DBT с полями типа memo;
  • байт № 28 содержит признак наличия индексного файла и его тип;
  • тип данных D (Data) — дата в формате ГГГГММДД;
  • прочие изменения.

DBF версии 4

Для dBase IV была разработана четвёртая версия формата DBF. Отличия от предыдущих:

  • бит 4 в байте версии совместно с седьмым битом означает новый формат файла с полями типа memo, биты с 4 по 6 — признаки таблиц SQL;
  • тип поля F (float) длиной 20 байт — десятичное число с плавающей точкой;
  • многоиндексные файлы *.MDX.

DBF версии 5

В dBase V использована пятая версия формата DBF. Нововведения:

  • тип поля B (Binary) подобный memo, но для произвольных данных;
  • тип поля G (General) для объектов OLE и подобных.

DBF версии 7

Седьмая версия dBase использует новый формат DBF тоже под номером 7, который кардинально отличается от предыдущих.

Сводная таблица версий

Нулевой байт файла DBF содержит номер версии формата и битовые признаки дополнительных файлов. DBF File type

0x02 dBase II и FoxBASE
0x03 FoxBASE+ или Dbase III+ без полей типа «memo»
0x30 Visual FoxPro
0x31 Visual FoxPro с автоинкрементом
0x32 Visual FoxPro с полями типов Varchar и/или Varbinary
0x43 dBASE IV файл таблиц SQL без полей типа «memo»
0x63 dBASE IV системный файл SQL без полей типа «memo»
0x83 FoxBASE+ или Dbase III+ с полями типа «memo»
0x8B dBASE IV файл таблиц SQL с полями типа «memo»
0xCB dBASE IV системный файл SQL с полями типа «memo»
0xF5 FoxPro до версии 2.6 с полями типа «memo»
0xE5 Clipper Six с файлом SMT (содержит значения полей типа «memo»)
0xFB FoxBASE

Выполнение конвертации файлов DBF

Большая часть описанных выше программ кроме того что могут открывать или редактировать файл ДБФ, могут также и конвертировать данный файл в другие форматы. Например, MS Excel может сохранить DBF в любом поддерживаемом данной программой формате, например, CSV, XLS, XLSX, PDF и других.

Конвертируйте из DBF в XLS

Известная «HiBase Group» также имеет конвертер, преобразующая файл DBF в CSV, форматы Эксель, такие как XLS и XLSX, стандартный текст, HTML, XML, SQL, PRG, SDF, RTF, TSV и других.

«DBF Converter» может экспортировать лишь пятьдесят записей в бесплатной trial-версии. Вы можете предпочесть платную версию, если вам понадобится экспортировать больше файлов.

Также пригодится DBF-конвертер

Инструмент «dbfUtilities» трансформирует файлы ДБФ в форматы XML, JSON, CSV и Excel. Он работает с помощью функционала «dbfExport», который входит в комплектацию «dbfUtilities».

В конвертации необходимого нам формата также помогут «dbfUtilities»

Также можно выполнить конвертацию ДБФ онлайн с помощью DBF Converter. Последний поддерживает экспорт файла в TXT, CSV и HTML.

Работа с индексами

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

При создании индексного файла следует задать:

  • Перечень индексов;
  • Путь сохранения индексного файла (на этапе 4 выгрузки).

Пример создания индексного файла:

ДБФ.Индексы.Добавить("INDCODE", "CODE");
ДБФ.СоздатьФайл("D:\MyFile.dbf", "D:\index.cdx");

Процедура добавления нового индекса имеет синтаксис:

Добавить(<Имя>, <Выражение>, <Уникальность>, <Убывание>, <Фильтр>)

Для использования индексов при чтении из файла DBF следует:

  • Указать путь к индексному файлу (на этапе 2 загрузки);
  • Задать текущий индекс.

Пример открытия файла DBF с использованием индексного файла:

ДБФ.ОткрытьФайл("D:\MyFile.dbf", "D:\index.cdx");
ДБФ.ТекущийИндекс = ДБФ.Индексы.INDCODE;

Внимание!

При открытии файла DBF позиционирование происходит на первой записи в файле. Первая запись в файле не соответствует первой записи в индексе. В связи с этим при использовании индексов перед тем, как последовательно обходить строки, необходимо спозиционироваться на первой строке индекса. Это можно сделать методом Первая(), например:

ДБФ.Первая();

Для поиска может использоваться одна из двух функций:

  • Найти(<Ключ>, <Режим>);
  • НайтиПоКлючу(<Режим>).

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

  • «=»;
  • «>=»;
  • «>»;
  • «<=»;
  • «<«.

Рассмотрим поиск в файле DBF на примерах:

ДБФ = Новый XBase;
ДБФ.ОткрытьФайл("D:\MyFile.dbf", "D:\index.cdx"); // При открытии файла DBF дополнительно указывается индексный файл
ДБФ.ТекущийИндекс = ДБФ.Индексы.INDCODE; // Установка текущего индекса

// поиск методом Найти:
Если ДБФ.Найти("000000003", "=") Тогда
    Сообщить("Найдено. Наименование элемента: " + ДБФ.NAME);
Иначе
    Сообщить("Не найдено");
КонецЕсли;

// поиск методом НайтиПоКлючу:
ДБФ.Ключ.CODE = "000000002";
Если ДБФ.НайтиПоКлючу("=") Тогда
    Сообщить("Найдено. Наименование элемента: " + ДБФ.NAME);
Иначе
    Сообщить("Не найдено");
КонецЕсли;

ДБФ.ЗакрытьФайл();

Чтение файла DBF

Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF
Файл.ОткрытьФайл("catalog.dbf"); //открываем файл на диске
Файл.КодоваяСтраница(1); //задаем кодировку: 0 - windows, 1 - DOS

Если Файл.Открыта()= Тогда //проверяем, удалось ли открыть файл
        Сообщить("Не удалось открыть файл!");
КонецЕсли;

Файл.Первая(); //позиционируемся на первой записи
Пока Файл.ВКонце()= Цикл //пока не дошли до конца, крутим цикл
      НомерЗаписи = Файл.НомерЗаписи(); //получаем номер текущей записи
      НазвТовара = Файл.NAME; //получаем значение поля
      Цена = Файл.ПолучитьЗначениеПоля("PRICE"); //так тоже можно, но чуть медленнее
      Файл.Следующая(); //переходим на следующую запись
КонецЦикла;

Файл.Последняя(); //позиционируемся на последней записи
Пока Файл.ВНачале()= Цикл //пока не дошли до начала, крутим цикл
       НазвТовара = Файл.NAME;
       Цена = Файл.PRICE;
       Файл. Предыдущая(); //переходим на предыдущую запись
КонецЦикла;

Для н = 1 По Файл.КоличествоЗаписей() Цикл //здесь все понятно, по-моему
      Файл.Перейти(н); //позиционируемся на определенной записи
       НазвТовара = Файл.NAME;
       Цена = Файл.PRICE;
КонецЦикла;

Файл.ЗакрытьФайл(); //не забывайте пожалуйста

Структура заголовка файла данных для таблицы dBASE 5.0 под Windows.

Заголовок табличного файла
Байт Описание
1-й байт Контроль файла 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-3 3 байта Дата последнего обновления в формате YYMMDD
4-7 32-битное число Количество записей в таблице
8-9 16-битное число Количество байтов, занимаемых заголовком
10-11 16-битное число Количество байтов, занимаемых записью
12-13 2 байта Зарезервированная область, заполнена нулями
14 1 байт Флаг, указывающий на наличие незавершенной транзакции dBASE IV
15 1 байт Флаг кодировки таблицы dBASE IV
16-27 12 байт Зарезервированная область для многопользовательского использования
28 1 байт Флаг наличия MDX-файла: 01H — файл для данной таблицы присутствует, 00H — файл отсутствует
29 1 байт ID драйвера языка
30-31 2 байта Зарезервированная область, заполнена нулями
32-n по 32 байта Массив с описаниями полей (структура данного массива показана ниже)
n+1 1 байт 0DH в качестве терминатора

n — последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.

Описание поля таблицы
Байт Описание
0-10 11 байт Имя поля в ASCII (заполнено нулями).
11 1 байт Тип поля в ASCII (B, C, D, F, G, L, M или N)
12-15 4 байта Зарезервированная область
16 1 байт Размер поля в бинарном формате
17 1 байт Порядковый номер поля в бинарном формате
18-19 2 байта Зарезервированная область
20 1 байт ID рабочей области
21-30 10 байт Зарезервированная область
31 1 байт Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H — нет.

Записи таблицы

Записи в табличном файле располагаются непосредственно за заголовком таблицы. Данным записи предшествует байт, указывающий на удаленность записи: значение 20h (пробел) указывает что запись не удалена, значение 2Ah (звездочка) — запись была удалена. Поля упаковываются записями без разделителей полей или терминаторов записи. Конец файла помечается единственным байтом (с EOF-маркером), OEM-код которого соответствует значению 26 (1Ah). Вы можете ввести данные в кодовой странице OEM как показано ниже.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector