Содержание icon

Содержание



НазваниеСодержание
Дата конвертации17.07.2012
Размер86.47 Kb.
ТипОтчет
1. /Введение в DELPHI/Alexs.rtf
2. /Введение в DELPHI/Les00.rtf
3. /Введение в DELPHI/Les11.rtf
4. /Введение в DELPHI/Les110.rtf
5. /Введение в DELPHI/Les12.rtf
6. /Введение в DELPHI/Les13.rtf
7. /Введение в DELPHI/Les14.rtf
8. /Введение в DELPHI/Les15.rtf
9. /Введение в DELPHI/Les16.rtf
10. /Введение в DELPHI/Les17.rtf
11. /Введение в DELPHI/Les18.rtf
12. /Введение в DELPHI/Les19.rtf
13. /Введение в DELPHI/Les21.rtf
14. /Введение в DELPHI/Les22.rtf
15. /Введение в DELPHI/Les23.rtf
16. /Введение в DELPHI/Les31.rtf
17. /Введение в DELPHI/Les310.rtf
18. /Введение в DELPHI/Les311.rtf
19. /Введение в DELPHI/Les32.rtf
20. /Введение в DELPHI/Les33.rtf
21. /Введение в DELPHI/Les34.rtf
22. /Введение в DELPHI/Les35.rtf
23. /Введение в DELPHI/Les36.rtf
24. /Введение в DELPHI/Les37.rtf
25. /Введение в DELPHI/Les38.rtf
26. /Введение в DELPHI/Les39.rtf
27. /Введение в DELPHI/Les41.rtf
28. /Введение в DELPHI/Les42.rtf
29. /Введение в DELPHI/Les43.rtf
30. /Введение в DELPHI/Les44.rtf
31. /Введение в DELPHI/Les45.rtf
32. /Введение в DELPHI/Menu.doc
HighWay Soft Group
Borland Delphi
Среда программирования Delphi Содержание
Средства создания мультимедийных приложений Содержание
html">Проект Delphi Пункт меню "File"
Обзор Палитры Компонент Содержание
Рисование и закраска Содержание
Печать текстовая и графическая Содержание
Свойства в Delphi Содержание Îáçîð -error: Reference source not found
Обзор
Обработка исключительных ситуаций в Delphi Содержание
События в Delphi Содержание
Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. Связь между двумя программа
Ole содержание Обзор Основы ole объект tolecontainer Пример ole приложения Сохранение ole объекта в базе данных Обзор
Использование dll в Delphi Содержание
Обзор
Управление транзакциями Содержание
Local InterBase Содержание
Настройка bde содержание Обзор 2 Обзор
Создание таблиц с помощью Database Desktop Содержание
Создание таблиц с помощью sql-запросов Содержание
Содержание
Компонент ttable. Создание таблиц с помощью компонента ttable Содержание
Содержание
Содержание
Управление соединением с базой данных (класс tdataBase,объект Session) Содержание
Создание собственных компонент Содержание
Редакторы свойств Содержание
Содержание
Урок 30: Основы языка sql содержание урока 30
Обзор Local InterBase 0 les311. rtf Подменю «Сложный материал» Создание собственных компонент les41. rtf Создание редакторов свойств компонент les42. rtf Генератор отчет

32 óðîêà ïî Delphi



Генератор отчетов ReportSmith

Содержание


Краткий Обзор

ReportSmith

Компонент TReport

Добавление TReport в приложение

Свойства TReport

Методы TReport

Передача переменной в отчет

Пример использования Delphi + ReportSmith

Создание отчета в ReportSmith

Краткий Обзор


Важной составной частью приложения является вывод данных на печать - получение отчета. В пакет Delphi входит средство для генерации и печати отчетов - ReportSmith. Вы можете объединить отчет с приложениями Delphi. Также, библиотека визуальных компонент Delphi включает специальный компонент TReport. В данном уроке показано, как использовать компоненту TRepor и рассмотрены основные принципы проектирования отчетов в ReportSmith.

ReportSmith


Borland ReportSmith является инструментом для получения отчетов и интегрирован в среду Delphi. Он может быть вызван непосредственно из меню Tools. Отчет может быть добавлен к приложениям Delphi, для этого есть компонента TReport на странице Data Access Палитры Компонентов. Войти в ReportSmith можно, нажав правую кнопка мыши на компоненте TReport и выбрав пункт контекстного меню (popup menu) или двойным щелчком левой кнопки мыши на компоненте TReport на форме.

Отчеты могут быть созданы для SQL БД или локальных БД и не требуют знания сложных команд БД. Интерфейс ReportSmith использует стандартные инструменты Windows 3.1 типа tool bar, formatting ribbon, и “drag and drop”. Если пользователь уже знаком с интерфейсом стандартных Windows-программ, типа Word for Windows или Quattro Pro for Windows, ему будет “знаком” и интерфейс ReportSmith. ReportSmith предлагает 4 типа отчетов: Табличный, Кросс-таблица(CrossTab), Форма(Form) и Наклейка(Label).

ReportSmith использует концепцию “живых данных”, т.е. работа происходит с настоящими данными все время, а не только тогда, когда запускается просмотр (preview). Кроме этого, ReportSmith легко работает с чрезвычайно большими БД при помощи адаптивной технологии управления памятью. В ReportSmith можно управлять тем, где сохраняется результат выборки данных из БД: в локальный памяти клиентской PC, на жестком диске клиентской PC, или на сервере.


ReportSmith включает поддержку:

Встроенных шаблонов и стилей

Отчетов типа перекрестных таблиц (Cross tab)

Отчетов в виде почтовых адресов

Вычисляемых полей и полей суммирования

Многоуровневой сортировки и группировки

Многоуровневых отчетов (master-details)


Отчеты, созданные с помощью ReportSmith могут распространяться бесплатно вместе с ReportSmith runtime-модулем. Конечные пользователи могут купить полную версию ReportSmith, для того чтобы создать свои собственные отчеты. Информация о ReportSmith доступна в руководстве ReportSmith for Windows - Creating Reports из коробки Delphi.

Компонент TReport


Библиотека визуальных компонент Delphi включает объект TReport. TReport обеспечивает вызов из программы Delphi программы ReportSmith runtime и печати отчета. TReport расположен на странице Data Access Палитры Компонент.

Добавление TReport в приложение


Добавить отчет в приложение Delphi очень легко. Положите компонент TReport на форму. Инспектор Объектов Delphi показывает, что компонент TReport имеет несколько свойств и ни одного события.




Рис.1: Инспектор объектов для свойств TReport

Свойства TReport


У TReport есть следующие свойства:


AutoUnload определяет, выгружается ли ReportSmith Runtime из памяти после завершения печати отчета. Если AutoUnload True, то ReportSmith Runtime выгружается, как только закончена пересылка отчета на печать. Если AutoUnload False, то ReportSmith Runtime остается в памяти. Например, можно создать приложение, которое включает пункт меню, запускающий отчет. После того, как отчет выполнился, можно пожелать, чтобы ReportSmith Runtime остался в памяти, и повторно отчет напечатается быстрее. Чтобы выгрузить ReportSmith Runtime из памяти при AutoUnload=False, нужно вызывать метод CloseApplication.


EndPage указывает последнюю страницу отчета, которая будет напечатана. По-умолчанию это 9999 (чтобы напечатать весь отчет).


InitialValues - строка переменных отчета, которые используются отчетом при запуске (если таковые имеются). Например, в отчет можно передавать из программы начальную и конечную даты для выборки данных. Указывая значения этих переменных, не требуется использовать диалоги для ввода во время выполнения отчета.


MaxRecords - количество записей БД, которые вы хотите использовать для создания отчета. Например, если вы хотите только просмотреть примерный отчет, а ваша БД содержит 50,000 записей, вы можете определить в MaxRecords величину, которая ограничивает число записей в отчете значительно меньшей величиной, например 100. Это тот же самое, что и использование ReportSmith в draft режиме.


PrintCopies определяет, сколько копий отчета будут напечатаны.


ReportDir - каталог, где хранятся файлы отчетов. Определяя каталог отчета, не нужно включать туда имя файла отчета.


ReportName содержит имя отчета, который нужно выполнить. Здесь можно указать полное имя отчета (каталог + имя файла), если вы не определили каталог в свойстве ReportDir или хотите выполнить отчет, которое сохранен в другом месте. Если св-во ReportDir определено, то имя каталога опускается и просто указывается имя отчета.


StartPage - номер страницы, с которой вы хотите начать печатать отчет. По-умолчанию равен 1.

Методы TReport


Методы TReport включают:


CloseReport прекращает печать отчета.


CloseApplication прекращает выполнение ReportSmith Runtime, если он запущен.


Connect служит для установления соединения с SQL БД.


Print - функция, проверяет, идет ли печать в данный момент.


RecalcReport пересчитывает и перепечатывает отчет с новым значением для переменной отчета, предварительно измененной методом SetVariable.


Run запускает ReportSmith Runtime, выполняет отчет указанный в свойстве ReportName, и посылает отчет на принтер.


RunMacro - вызывает выполнение в ReportSmith макроса (программы, написанной на ReportSmith Baisc).


SetVariable изменяет значение переменной отчета. Параметр Name определяет, какая переменная изменяется, и параметр Value определяет новое значение. После вызова метода SetVariable, ваше приложение может вызывать метод RecalcReport, который пересчитывает и перепечатывает отчет с новым значением переменой.

Передача переменной в отчет


Следующий код показывает, как передать переменную в отчет. В примере строковой переменной отчета 'City' присваивается значение 'Bombey'. Подразумевается, что есть готовый отчет с данной переменной.

Поместите компонент TReport на форму и установите требуемые свойства для вызова печати отчета. Напишите обработчик OnClick для кнопки Button1 на форме (кнопка - для простоты) :


procedure TForm1.Button1Click(Sender: TObject);

begin

Report1.InitialValues.Clear;

Report1.InitialValues.Add('@City=');

Report1.Run;

end;

Пример использования Delphi + ReportSmith


Завершенное приложение Delphi + ReportSmith есть в примерах к данному уроку. Приложение позволяет выбрать имя отчета в диалоге открытия файлов и выполнить этот отчет. Код для кнопки PrintReport (Печатать отчета) показан ниже.


procedure TForm1.PrintReportClick(Sender: TObject);

begin

if OpenDialog1.Execute then begin

Report1.ReportName := OpenDialog1.Filename;

Report1.Run

end

end;

Создание отчета


В данной главе показан пример построения достаточно простого отчета на основе данных из таблиц, которые находятся в каталоге \DELPHI\DEMOS\DATA. В отчете для каждого заказчика будет выводиться список его заказов с сортировкой по имени заказчика. Для этого потребуется использовать таблицы ORDERS.DB (заказы) и CUSTOMER.DB (заказчики).

Запустите ReportSmith. Он попросит вас открыть отчет (если отчет уже существует, то можно выбрать имя отчета). Чтобы построить новый отчет, нажмите кнопку Cancel и затем в меню ReportSmith выберите пункт File|New. ReportSmith попросит выбрать тип отчета, который вы хотите построить (см. рис.2). В нашем примере мы будем строить табличный отчет (Columnar report).




Рис.2: Диалог выбора типа отчета

Если данных в таблицах много, то лучше выбрать режим Draft прежде, чем нажать OK. В этом случае ReportSmith спросит, сколько записей вы хотите использовать при построении отчета. Когда отчет запускается на выполнение, то будут использоваться все записи или то число, которое вы определяете в свойстве MaxRecords.

После выбора типа отчета укажите ReportSmith таблицу(ы), по которым вы хотите сделать отчет (см. рис.3).




Рис. 3: Диалог добавления таблиц в отчет.

Для добавления таблицы в отчет нажмите кнопку "Add table...", выберите тип таблицы Paradox (IDAPI) (см. рис.4), и выберите таблицу CUSTOMER.DB из каталога \DEMOS. Точно также добавьте таблицу ORDERS.DB. Следующим шагом нужно установить условия, по которым будет выполняться соединение таблиц при выполнении отчета. В данном случае они связаны по полю CustNo - код заказчика. Установки связи между таблицами происходит в соответствующем диалоге при нажатии кнопки “Add new link…” (см. рис.5). Предварительный этап закончен и можно нажать кнопку “Done”.




Рис. 4: Диалог добавления таблицы в отчет




Рис. 5: Определение связи между таблицами


ReportSmith считает данные из таблиц и создаст начальный табличный отчет. В нашем отчете слишком большое количество столбцов и он не умещается по ширине на стандартной странице. Можно убрать ненужные колонки, выбирая столбец и нажимая клавишу Del. Удалите все столбцы кроме OrderNo, SaleDate, ShipDate, paymentMethod, AmountPaid. ReportSmith позволяет изменить ширину колонки с помощью мыши. Теперь отчет выглядит примерно так, как на рис.6.




Рис. 6: Отчет с выбранными полями

Однако, пока это не то, что нам нужно - в отчете нет информации о заказчике, для которого данный заказ предназначен. Прежде, чем добавить эту информацию нужно сгруппировать записи в отчете по принадлежности заказчику. Это делается в пункте меню Tools|Report Grouping… (см. рис.7). Просто выберите поле группировки (в нашем случае нужно сгруппировать записи по коду заказчика - поле CustNo) и нажмите кнопку “OK”. Следующим шагом добавим Header и Footer (т.е. поле перед группой и после нее) для каждой группы. Это выполняется в пункте меню Insert|Headers/Footers (см. рис.8).




Рис. 7: Диалог группировки записей в отчете




Рис. 8: Добавление Header/Footer для группы


В дальнейшем, в Header для группы мы поместим информацию о заказчике, а в Footer - итоговую сумму всех заказов (т.е. сумму по полю AmountPaid для данной группы). А теперь наш отчет имеет вид, представленный на рис.9. (Для того, чтобы показывались названия полей в каждой группе нужно вызвать пункт меню Insert|Field Labels…)




Рис. 9: Отчет с группами записей и полями перед и после них


Для того чтобы добавить данные в Header нужно выбрать пункт меню Insert|Field. Появится соответствующий диалог (см. рис.10). В этом диалоге требуется указать поле, которое вы хотите вставить в отчет, нажать кнопку “Insert” и щелкнуть мышью в то место на отчете, куда его нужно поместить. В нашем отчете это будет поле Company и размещаться оно будет в заголовке группы (Header). Кроме того, если нужно, чтобы названия компаний в отчете шли в алфавитном порядке, то это можно указать в пункте меню Tools|Sorting… В диалоге укажите поля для сортировки - Company и OrderNo (номера заказов внутри каждой группы должны быть также упорядочены). После этого нажмите “Done”.



Рис. 10: Диалог добавления поля в отчет


Теперь добавим суммирующее поле в Footer для группы. Для этого выберите пункт меню Tools|Summary Fields… В диалоге нужно выбрать группу CustNo_Group, поле AmountPaid, операцию Sum и нажать “Add To Group”(см. рис.11). Далее, по аналогии с полем Company, добавьте суммирующее поле в Footer группы (в диалоге вставки поля пункта меню, рис.10, в верхнем ComboBox’е нужно выбрать Summary Fields).

Отчет готов, его вид показан на рис.12.



Рис. 11: Диалог определения полей суммирования



Рис. 12: Готовый отчет.




Epsylon Technologies

Óðîê 29: Ãåíåðàòîð îò÷åòîâ ReportSmith






Похожие:

Содержание iconГ. Павлово 2009 год содержание паспорт программы раздел 1
Содержание проблемы и обоснование необходимости ее решения программным методом
Содержание iconСодержание доклада: Общая характеристика учреждения и условий его функционирования
Содержание образования. Учебные и внеучебные достижения учащихся
Содержание iconРыбаков Иван
Вспомни содержание книги Дефо «Робинзон Крузо». Как соотносится её содержание с просветительскими установками «века разума»?
Содержание iconПроверочная работа «Содержание и объем понятия»
Множество объектов, каждому из которых присущи признаки, составляющие содержание понятия
Содержание iconСодержание вопроса Содержание ответа
Вправе ли прокурор в соответствии с п. 7 ст. 10 Фз "О введении в действие упк рф" принять решение о наложении ареста на корреспонденцию...
Содержание iconТема: Содержание и объем понятия На дом: учебник стр 42-44(учить)
Множество объектов, каждому из которых присущи признаки, составляющие содержание понятия
Содержание iconЭлементы логики Объем и содержание понятия
Назовите два понятия, которые находятся в отношении рода и вида. Сравните объемы и содержание этих понятий
Содержание iconДелится ли число 10
На складе хранилось 100 кг ягод, содержание воды в которых составляло 99%. От долгого хранения содержание воды в ягодах сократилось...
Содержание iconНаименование муниципального ( государственного)
Прошу предоставить мне компенсацию части родительской платы за содержание ребенка в образовательном учреждении в размере суммы, вносимой...
Содержание iconНаучно-методическая работа школы
Правильное определение целей и задач методической службы помогает выбрать оптимальные содержание и формы организации работы с педколлективом....
Содержание iconВы хотите знать все о компенсационных выплатах за содержание Ваших детей в детском саду?
Компенсационные выплаты за содержание детей в детском саду осуществляются на основании Постановления Правительства Российской Федерации...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов