Советы по Delphi

       

Надоел ReportSmith? Хотите, чтобы у вас были WYSIWYG отчеты?


Для вас, которые устали от бесконечных ошибок, проблем, глюков, и других приятных мелочей при работе с ReportSmith, да и просто тому, кому не нравится этот продукт, я посвящаю этот совет. Вам нужен мощный WYSIWYG генератор отчетов?

Хорошо...

Один отличный инструмент для этого вы уже под рукой имеете. Это MS-Word! Вы правы! Используйте Word для генерации отчетов. С использованием OLE Automation это совсем просто. Я могу догадаться, что слово OLE может вас напугать, но попробуйте следующий код:

varWord: Variant;beginWord := CreateOleObject('Word.Basic');with Word dobegin {Затем следуют "чистые" команды WordBASIC...}FileNew('Normal');Insert('Это первая строчка'#13);Insert('Это вторая строчка'#13);FileSaveAs('c:\temp\test.txt', 3);end;end;

Просто, не правда ли? Как вы наверное уже обратили внимание, нет необходимости пользоваться функциями SendMessage(), PostMessage(), DDE, Word'овским C-API или DOS bat'никами для записи файла. Фактически ничего из перечисленного!

Другое преимущество OLE Automation состоит в том, что оно не требует запуска приложения. Это очень удобно! Вам не нужно искать и запускать EXE-файл. Все делается через WordBASIC. Скоростные характеристики и малый размер расходуемой памяти бьют наповал все методы, указанные в предыдущем абзаце.

Забавным побочным эффектом можно считать визуальность отработки команд OLE Automation, вы видите как все это работает. Да! Word открывает документ, редактирует его согласно вашим командам и все это у вас на глазах.

Все что вам необходимо сделать - это создать шаблон с закладками! Затем, пользуясь командами WordBASIC "EditBookmark .Goto" и "Insert" вы получаете готовый отчет с скомпонованными в нужном месте данными!

Лучшего средства для генерации отчетов не найти. Вы хотели WYSIWYG?

[000195]

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