Главная » Статьи » Работа с базами данных |
Работа с компактными индексами FoxPro реализована в виде одной функции для чтения файлов *.CDX (FoxPro, Compound Index File Structure). Реализовал работу с индексом таким образом, чтобы получить значения "expression" выражения для всех индексов и сохранить их в TStringList. Никаких внешних зависимостей и использования BDE или ODBC - нету. Чистый код на Delphi для чтения файла CDX в виде отдельного модуля CDXUnit. Прототип функции: Для реализации чтения файлов использовал CreateFile Описание файлов *.CDX можно взято из MSDN: Из каталога файлов можно скачать работающий вариант, демо в виде EXE-файла (TEdit + TButton + TMemo) + исходники. Результаты совпадают с утилитой DBF Manager (dbfmanager). Дема работает так как показано на рисунке: Выбрали *.CDX файл, получили список всех индексов и выражений индексов данного файла. Наличие DBF файла не обязательно. Сложность поиска всех ключей состоит в том, что они находятся не в начале индекса, а могут располагаться и в середине индекса и в конце, в зависимости от количества записей в индексе. Особенно это хорошо видно на примере больших файлов. Идет первый ключ или выражение, затем сам индекс, потом следующий ключ и т.д. Связано это с тем, что сам индекс строится в виде дерева и отдельные его части могут быть расположены в файле не последовательно. Еще сильно затрудняет поиск наличие удаленных индексов. Начнем с простого: что такое ICQ и как ей пользоваться? convert youtube videos to mp3 mac Источник: http://msdn.microsoft.com/en-us/library/s8tb8f47%28VS.71%29.aspx | |
Просмотров: 3996
| Теги: |
Всего комментариев: 0 | |