Новое в версии 1.01: Можно передавать до 10 переменных из VFP в репортер
Уважаемые коллеги по VFP - Вам еще не надоел штатный генератор отчетов?
Лично мне уже очень давно. Однако использовать альтернативные
монстры типа Crystal Report и прочее мне тоже не хотелось.
Некоторое время назад мне пришла дурацкая ( а может и нет ) идея прикрутить к дельфевому компоненту FastReport ( www.fastreport.ru ) COM-интерфейс и использовать его из VFP. Задумано - сделано. Идея заключается в том - чтобы готовить результат в DBF файле, а уже все остальное делать в этом COM-сервере.
Хотя, можно и непосредственно, при помощи ADO брать данные из любой БД.
COMBigRepD - написан на Delphi6 с использованием FastReport 2.46
Сервер реализован в виде In-Proc сервера, поэтому “падение” сервера приведет к падению Вашего приложения, но надеюсь, этого не случится. Если все же такое случится – перепишу в виде Out-Proc сервера.
Перечислю некоторые возможности компонента FastReport ,а значит, и COM-сервера:
- Бэнд-ориентированный генератор отчетов.
- Встроенный мощный дизайнер, доступный и в run-time.
- Preview как в MS Word.
- Компактность кода;
- Неограниченное количество страниц сформированного отчета.
- Многостраничные отчеты; составные (композитные) отчеты; вложенные отчеты;
группы; многоколоночные отчеты; master-detail-detail отчеты; cross-tab отчеты; двухпроходные отчеты; \"живые\" отчеты. - Полный контроль над процессом печати, поддержка всех типов бумаги.
- Набор наиболее популярных компонентов: Текст, Линия, Рисунок, Фигура, OLE объект, RichText, RX Rich 2.0, Диаграмма, Штрих-код. - Экспорт в TXT, RTF, CSV, HTML (RTF и HTML - с картинками).
- Поиск текста в сформированном отчете.
- ActiveX Data Objects (ADO).
- Редактирование сформированного отчета.
- Встроенный интерпретатор Pascal-подобного языка для управления процессом
построения отчета.
И это далеко не полный список возможностей, и это при размере всего одной dll размером около 2 Mb.
*
Инсталляция:
*
1.Зарегистрировать COM-server в системе : Regist.bat
2.Пример использования:
....
o =CREATEOBJECT("COMBigRepD.BigReport") && Создаем указатель и загружаем сервер
o.ReportFileName = "c:\combigrepdtest1.frf" && Полное имя отчета
o.DesignExist() && Редактирования отчета указанного в o.ReportFileName
o.Report(.F.,1) && Печать указанного в o.ReportFileName отчета без привью, 1 экз.
o.Report(.T.,1) && Печать указанного в o.ReportFileName отчета с привью, 1 экз.
o.DesignNew() && Создание нового отчета
RELEASE o && Выгрузка и удаление сервера
3.Убрать COM-server из системы : UnRegist.bat
4.Дополнительную информацию о возможностях FastReport на www.fastreport.ru
Еще раз спасибо разработчикам FastReport .
По вопросам развития COM-Server – maysnikov@rbt.ru
С уважением,
Юрий Мясников
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 297combigrepd.zip | .zip | 977,52 КБ |