Хорошо...
Один отличный инструмент для этого вы уже под рукой имеете. Это 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]