|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Компонент TWordReport
1. Назначение
Компонент предназначен для автоматизации создания отчетов через MS Word. Как исходный шаблон, так и готовый отчет представляют собой обычные документы Word, что обеспечивает пользователю самыме богатые возможности редактирования, предпросмотр и печать без каких-либо дополнительных средств. 2. Программные требования - Borland Delphi или Embarcadero RAD Studio Delphi - Microsoft Word 2000 и выше. 3. Инструкция по применению 3.1. Правила создания шаблонов Шаблон в нашем случае - это документ MS Word (именно документ - т.е. файл *.doc, а не *.dot !), составленный по определенным правилам. - Секция - это диапазон шаблона, который должен повторяться в результирующем документе столько раз, сколько требуется для вывода всех записей привязанного к секции набора данных. - Каждая секция должна быть отмечена закладкой с именем DataN, где N - целое число от 1 до 8. Повторяться будет ТОЛЬКО то, что в диапазоне закладки, поэтому закладкой лучше отмечать всю строку документа целиком. Если секция используется для повторения строки таблицы, то отмечать закладкой следует также всю строку документа, в которой находится эта строка таблицы. - Существует три категории переменных шаблона: 1. переменные вне секций Синтаксис объявления: #(ИмяСвободнойПеременной) Способ определения значения: напрямую, методом SetValue 2. переменные секций Синтаксис объявления: #(ИмяСекции(ИмяСчетчика).ИмяПеременной) Способ определения значения: из текущей записи привязанного поля набора данных. 3. счетчики записей секций Синтаксис объявления: #(ИмяСчетчика) Объявление действительно только внутри секции. Заменяется на текущий номер записи привязанного набора данных при отсутствии групп секций или на номер записи в неразвывной последовательности при группировке секций. - ИмяСвободнойПеременной - ненулевая последовательность латинских букв, цифр и точек (только букв, цифр и точек, никаких других знаков!). Регистр букв не важен. - ИмяПеременной - ненулевая последовательность латинских букв и цифр. Регистр букв не важен. - ИмяСчетчика - ненулевая последовательность латинских букв и цифр. Регистр букв не важен. - ИмяСекции - ненулевая последовательность латинских букв и цифр. Регистр букв не важен. - Максимальное количество переменных в секции - 16. - Максимальное количество секций в документе - 8. - Максимальное количество переменных вне секций - 2^31 - 1, то есть верхняя граница 32-битного целого типа. Полное описание см. в разделе Документация, файл ОписаниеРазработки.txt Загрузить исходники, документацию и пример применения с Яндекс.Диск Последний раз редактировалось F.o.x., 25.04.2019 в 09:23. |
#2
|
||||
|
||||
Цитата:
|
#3
|
|||
|
|||
Класс.
Если кто заметит какие баги или недочеты - пишите, чтобы я мог их поправить. Вот думаю: убирать ли ограничение на количество секций, используя динамический массив? Кто-нибудь когда-нибудь видел отчет, где их было больше восьми? |
#4
|
||||
|
||||
Задумка неплохая, но необходим инструментарий визуальной разработки шаблона. Пользователь должен видеть имена всех переменных не только в коде, но и в шаблоне. Нечто похожее реализовано в шаблонах отчетов Кронос Про. Вы можете скачать демку на их сайте и подсмотреть механику создания таких шаблонов. Оформите итог в визуальный компонент и это будет весьма полезная вещь.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
То есть еще и шаблон через delphi создавать? Или подключать данные к шаблону во время разработки?
Хм. Интересная затея. Но тут тоже не надо перебарщивать. Мы же не хотим, чтобы в итоге получилось пятое колесо? Шаблон специально задумывался как простой документ Word, чтобы его легко было редактировать именно в Word, так что менять сам шаблон еще и из delphi - это уже явный перебор. А в остальном согласен. Последний раз редактировалось F.o.x., 28.08.2018 в 18:20. |