Delphi - сбориник статей

       

наследник TDataSet, предназначенный для доступа


Этот компонент - наследник TDataSet, предназначенный для доступа к DBF-файлам без использования BDE. Демонстрационный проект радует глаз. Как говорится, простенько и со вкусом. Огорчает отсутствие файла помощи, нет даже комментариев в исходных текстах проекта. Но ведь сами-то тексты есть! Поэтому я все-таки решил исследовать данный компонент поглубже.

Среди немногих свойств компонента TMDBFTable, доступных в режиме design-time, следует выделить MakeBackup, PackOnSave и ShowDeleted. Даже не искушенный в английском языке читатель без труда определит, какие функции они выполняют.

Увы, как показало тестирование, DBFTable не подходит для работы с таблицами, где число записей превышает 100 тыс. Последовательных приближений к тому количеству записей, при работе с которыми демо-приложение не "вываливается" с удручающим сообщением "Out of memory", я не делал - однако таблицу на 15 тыс. оно восприняло вполне спокойно. А все потому, что для загрузки информации из таблиц используется обычный TStringList.

Тут обнаружилось еще одно удручающее обстоятельство - вместо русских букв, на экране в качестве значений текстовых полей отображаются "крокозябры". Кроме того, DBFTable поддерживает отнюдь не любые dbf-файлы, как можно было бы предположить из его названия, а только с DBase-III или IV. Умиляют также закомментированные строки кода в описании компонента.

Последнее, что я занесу в "пассив" этой разработки: компонент не лишен "глюков", возникающих в design-time и в ходе работы приложений. Критичными их не назовешь, но помнить о них следует. Подозреваю, что кроме парочки выловленных мною есть и другие.

Все же использовать MiTeC DBFTable v.1.5 в реальных проектах) можно. Во-первых, DBFTable (как и предыдущий кандидат на звание альтернативы BDE) может послужить базой для дальнейших разработок. Во-вторых, начинающим программистам очень полезно будет изучить исходные тексты компонента. Уверен, они почерпнут оттуда много интересного. В-третьих, DBFTable, как-никак, рабочий компонент и вполне может подойти для определенного класса задач - например, для создания на диске пользователя временных файлов данных, для описания настроек приложения и т.п. А проблему с отображением русских букв вполне можно решить, внеся изменения в исходный код DBFTable.

И все-таки очень жаль, что нет файла помощи!

Компонент:

TjanSQL v.1.1 MiTeC

DBFTable v.1.5 Разработчик Jan Verhoeven ( ) MichaL MutL ( ) Краткое описание однопользовательская реляционная СУБД с поддержкой подмножества SQL для работы с плоскими текстовыми файлами обеспечивает доступ к файлам формата DBASE III, IV Версии Delphi D4, D5, D6, D7 D3, D4, D5, D6, D7 Адрес архива http://www.torry.net/ db/ direct/ custom/ jansql.zip http://www.torry.net/ db/ direct/ db_dbf/ mitecdbftable.zip Сайт поддержки http://jansfreeware.com/ http://www.mitec.cz/ Объем архива 425 Кб 274 Кб Демонстрационные проекты + + Справочная система + - Проблемы с установкой для обеспечения работоспособности демо-проекта пришлось править его исходный код нет Общее впечатление материал для собственных разработок; использовать непосредственно в проектах проблематично приятный на вид компонент с не вполне понятной (по причине отсутствия вразумительного описания) функциональностью

Содержание раздела