RM (отчет Machine) - мощный пакет управления отчетами Delphi. Используйте его, чтобы создать очень сложные отчеты. Самое простое использование объяснено ниже:
Поместите два элемента управления базе данных в форму: AdoConnection и Adoquery, чтобы настроить соединение AdoConnection. LoginPrompt = false. Подключение AdoQuery указывает на AdoConnection. SQL AdoQuery устанавливает операторы запроса данных.
Поместите два элемента управления отчетом RM в форму: rmdbdataset и rmreport. Набор данных RMDBDataset указывает на AdoQuery. Набор данных RMREPORT указывает на RMDBDataset.
(Если вы хотите, чтобы окончательное сгенерированное приложение имело возможности проектирования отчетов, вам также необходимо поместить управление RMDesigner и не устанавливать никаких атрибутов)
Дважды щелкните управление RMREPORT, чтобы начать проектирование шаблона отчета.
Для отчетов, которые обычно сравниваются с правилами, вам нужно добавить только четыре полосовых объекта в шаблон, а именно: 1), заголовок страницы: обычно используется для отображения имени отчета, времени и т. Д. 2), заголовок основного элемента: обычно используется для отображение столбцов имя. 3) Данные основного элемента: используется для отображения данных. 4) Сноска страницы: используется для отображения номера страницы, даты и т. Д.
Проектированный шаблон может быть сохранен в DFM или в независимом файле шаблонов с расширением RMF и вызывается во время выполнения. Вот несколько фрагментов кода:
Процедура tbrowseform.button5click (отправитель: tobject); varrmreport: trmreport; beginif adoquery1.isempty thenexit; tryrmreport: = trmreport.create (self); .Free; end; end;
Процедура tform1.button1click (отправитель: Tobject);
// Процедура отчета о проектировании tform1.button2click (отправитель: tobject);
Для большинства правил отчетности, вышеупомянутых знаний достаточно. Но это просто самый простой способ использования RM, и он далеко не отражает силу функций RM.
У RM есть две привлекательные функции, которые мне сейчас нужны больше всего:
1) Данные могут поступать из базы данных или из любого места, например, в файлах, в памяти и т. Д. 2) Нет необходимости в предварительных шаблонах.
Хотя RM мощный, это не очень сложно.
1. Каковы ваши хорошие решения для отчета, который требует двух сторон листа бумаги? При печати вы можете вводить нечетные или даже страницы. 2. Как я могу распечатать фиксированное количество строк в одной странице? Нажмите на отчет, чтобы ввести интерфейс отчета о дизайне? Rmreport1.modifyprepared: = false4. Передайте параметры в отчет, как сделать Trmmemoview? Rmreport1.findobject ('memo1'). Memo.text: = 'dddd' или rmvariables ['a1']: = 'ddddd'; 6. Как мы не можем печатать дублированный контент? Suppres = true7. Установите rmreport.modifypreview = false8. .Bottomframe .visible: = false в сценарии отчета1.frametyp: = 15; Страница и управляйте этим, чтобы отобразить, но это нормально, чтобы не печатать. Таблица для каждого 3 строки для установки Столбец данных основного элемента: LinsePerpage = 3if для трех человек есть способ для одной строки: установите столбцы столбца данных основного элемента = 3 Печать в группировке, Условия группировки: nowline> 3 на Foreprint : beginnowline: = 1; end; Да, установите столбец основного элемента: Visible = False Statistics Box: Calcnovisible = true12. Да, установите текстовое поле: strected = true; // Введите отчет rmreport1.showreport; 2. Изменить заголовки группы в каждой группе. 1.RMREPORT1.PAGES [0] .CHAUNGEPAPE () 2.RMREPORT1.PAGES [0] .FINDOBJECT (Имя столбца группы) .prop ['newpage']: = false; 15. Rmreport1.showprintdialog: = false; rmreport1.printreport; 16. Вам не нужно выбирать область Zoom для печати в настройках страницы или rmreport1.pages [0] .pgmargins: =; Richedit1.lines.savetoStream (Tempstream); Tempstream.position: = 0; RmformReport1.PageHeader.Caption.LoadFromStream (Tempstream); Tempstream.Free; End; 18. Установите Trmdesigner's TemplatedIR19. (Rmreport1.findobject ('band1') как trmbandview) .dataset: = 'rmdbdataset1'; 20. Левое расстояние: curreport.pages [0] .pgmargins.left: = round (rmconverttopixels (mm*10, rmsumm))) 22.rmvariables ['brand']: = true; rmvariables ['name продукта']: = 'Компьютер' ; Основной пункт DATA LINEPERPAGE = 1024. ? ? Лучше всего использовать столбец столбца, поместить на него поле Статистики, а затем установить Calctype 25. При динамическом генерации отчетов, как установить маржу страницы RM? 40); Rmcompositereport1.reports.add (rmreport2); Да, содержание A3 [memo1.calcvalue + memo2.calcvalue] 29. и печатает только один раз.30. [';
Rmvariables ['a2'
Руководство по разработке машины отчета-Создать отчет 2010-02-10 13:08
Создайте отчет:
Создание отчета состоит из следующих шагов:
1. Выберите данные: выберите источник данных, используемый в отчете
2. Шаблоны отчета о дизайне: используйте область (называемую полосой), чтобы распределить различные части отчета, чтобы определить стиль отчета.
3. Обработка: используйте встроенный язык сценариев отчета или обработайте данные, шаблоны отчетов и т. Д. Используемые в отчете в Delphi.
4. Сгенерировать отчет: генерируйте окончательный отчет на основе шаблона отчета + источник данных.
Выберите источник данных:
Данные, необходимые для большинства отчетов, поступают из базы данных. Компоненты Ttable и Tquery могут служить источником данных для отчетов. В общем, он может использовать любой подкласс, унаследованные от компонента TDAtaset. Tdataset, используемый в каждом отчете, должен иметь соответствующий TRMDBDataset.
В дополнение к Tdataset, страницы отчетов Machine могут использовать любой источник данных (массивы, файлы, сетки символов и т. Д.). В этом случае программа должна само по себе контролировать доступ не датабазных источников. Вы можете использовать TrmuserDataSet для легкой передачи данных в отчеты.
Шаблон отчета о дизайне:
Сам шаблон отчета описывает, как увидеть правильный отчет. Каждый шаблон отчета состоит из нескольких регионов, которые отчет Machine вызывает полосу. Существует два типа полос: полосы с фиксированной областью (например, заголовки отчетов, заголовки страниц, сноски страниц и т. Д.) И полосы, используемые для отображения всех записей в наборе данных (например, в столбце основного элемента данных). Полоса данных должна быть подключена к источнику данных, а содержимое является записью в источнике данных.
Reportmachine предоставляет визуальную среду для разработки отчетов (дизайнер отчетов, который также может быть предоставлен вашему конечному пользователю, чтобы облегчить вашему конечному пользователю для самостоятельного изменения шаблонов отчета) для создания отчетов. Дизайнер отчетов является мощным, простым и простым в использовании. Интерфейс дизайнера отчета состоит из плавающей панели инструментов, которая может свободно изменить свою позицию.
иметь дело с:
При создании отчета вам необходимо обработать входные данные (например, форматирование), и необходимо изменить шаблон отчета (например, текстовое поле в шаблоне отчета, необходимо для изменения шрифта).
Реализация этой обработки позволяет написать код в обработке событий TrmReport в Delphi. Вот почему встроенный язык сценариев в отчете Machinet, встроенный язык сценариев отчетов очень похож на объект Pascal и является мощным. Напишите код обработки событий На этом языке сценариев, который позволяет создавать сложную обработку без написания кода в Delphi. Это может отделить отчеты от ваших проектов.
Пример сценария отчета:
Отчет об единице;
интерфейс
Процедура memo1onbeforeprint (отправитель: Tobject);
Процедура memo1onbeforeprint (отправитель: tobject);
процедура главная;
конец;
конец.
Создайте отчет:
Создание отчета - это процесс, в котором отчет Machine обрабатывает источник данных в соответствии с шаблоном отчета для создания окончательного отчета и может предварительно просмотреть его после нажатия кнопки «Предварительный просмотр». Отчеты, подготовленные в отчете, представляют собой набор объектов, которые описывают контент, содержащийся на каждой странице после обработки отчета. Это позволяет вам изменить страницу сгенерированного отчета, вызывая нужную страницу в дизайнере. Кроме того, реакция мыши щелкнула на объект в окне предварительного просмотра также может быть описана. Это облегчит вам организовать вашу работу (нажатие на объект отчета может дать более подробный новый отчет).
Окно предварительного просмотра отчетов аналогично Microsoft Word: несколько страниц можно увидеть в одном окне и может быть перетаскивано с помощью мыши.