Структура DB файлов...
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Здравствуйте, All... У меня возникла такая вот проблема:
Я думаю, что ни для кого не секрет, что после использования TTable приходится долго ломать голову как прикрутить BDE к машине пользователя. Вот я и хочу посоветоваться как бы избежать использования этого самого BDE.
Во-первых, я думаю, что можно изучить заголовки DB файла. А во-вторых, я думаю что можно создать свой типизированный файл, и написать для работы с ним какую-нибудь компоненту...
Подскажите пожалуйста, на сколько это осуществимо, и как можно добится этого результата...
Заранее благодарен!
Я думаю, что ни для кого не секрет, что после использования TTable приходится долго ломать голову как прикрутить BDE к машине пользователя. Вот я и хочу посоветоваться как бы избежать использования этого самого BDE.
Во-первых, я думаю, что можно изучить заголовки DB файла. А во-вторых, я думаю что можно создать свой типизированный файл, и написать для работы с ним какую-нибудь компоненту...
Подскажите пожалуйста, на сколько это осуществимо, и как можно добится этого результата...
Заранее благодарен!
Есть уже компоненты позволяющие работать с БД без БДЕ или скажем MDAC.
Halcyon например...
Можно скажем использовать .dbf без доп. библиотек.... там теже TTable!
И этот подход как правило быстрее
Halcyon например...
Можно скажем использовать .dbf без доп. библиотек.... там теже TTable!
И этот подход как правило быстрее

GOS, а где про это почитать поподробнее можно?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
TDbf:
http://sourceforge.net/project/showfile ... p_id=34085
http://www.firststeps.ru/cbuilder/bde/r.php?12
Есть способ писать "тонкие" приложения используя TClientDataset с хранением данных в кеш-файле midas. Все как с обычными DB-Aware компонентами, только никаких баз, никаких BDE... Только midas.dll в доступном пути.
http://sourceforge.net/project/showfile ... p_id=34085
http://www.firststeps.ru/cbuilder/bde/r.php?12
Есть способ писать "тонкие" приложения используя TClientDataset с хранением данных в кеш-файле midas. Все как с обычными DB-Aware компонентами, только никаких баз, никаких BDE... Только midas.dll в доступном пути.
Это конечно все замечательно... но! (я наверно коряво описал свою задачу) Имелось в виду не использование уже готовых компонент, а создание своих собственных! Я хотел узнать о структуре файлов, что бы потом самому написать компоненту для работы с ним; или узнать, может есть смысл создать свой типизированный файл и так же с ним работать через свою компоненту.
Есть идеи, господа?
Есть идеи, господа?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Если сделать плоский типизированный файл, то поиск будет неэффективным.
Одного типизированного файла мало, нужна еще какая-либо схема индексирования данных (индексные таблицы), которая обеспечит выборку данных в нужном порядке. Разумеется индексы надо вовремя перестраивать (при добавлении/удалении данных, а также при изменении ключевых (индексируемых) элементов данных.
Работать с типизированным файлом элементарно.
FileSeek
ReadBuf
WriteBuf
Ну и функции открытия/закрытия файла.
Есть еще возможность блокировать часть файла (на некоторый период), чтобы другие приложения (в случае многопользовательской работы) не мешали.
Одного типизированного файла мало, нужна еще какая-либо схема индексирования данных (индексные таблицы), которая обеспечит выборку данных в нужном порядке. Разумеется индексы надо вовремя перестраивать (при добавлении/удалении данных, а также при изменении ключевых (индексируемых) элементов данных.
Работать с типизированным файлом элементарно.
FileSeek
ReadBuf
WriteBuf
Ну и функции открытия/закрытия файла.
Есть еще возможность блокировать часть файла (на некоторый период), чтобы другие приложения (в случае многопользовательской работы) не мешали.
Ладно, я вопрос по другому поставлю, меня походу не понимает никто. Как написать компонент наподобие TDBF но только для работы с DB файлами?
Мне тут Aik дал ссылочку (http://www.randybeck.com) так вот там структура db фалов описана!
Вот и пиши наследника TDataSet с учётом всего изложенного там. Может новую библиотеку компонент напишешь
Вот и пиши наследника TDataSet с учётом всего изложенного там. Может новую библиотеку компонент напишешь

GOS, спасиба огромное, это как раз то, что я искал!
Pepper, если бы ты сказал изначально, что тебе нужен формат Paradox'овых таблиц, то ссылку 11 апреля получил 

Даже самый дурацкий замысел можно воплотить мастерски