Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

Пользователей: 13,361
новичок: uehuat
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных - словарь терминов на Delphi + Пояснительная записка
Моделирование круглосуточного интернет кафе на GPSS + Отчет
Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...

Создание отчетов (Delphi + Microsoft SQL Server)


Понятие отчета


Под отчетом понимают средство для подготовки информации из БД к печати на принтере. С помощью отчетов удается формировать необходимую документацию, основанную на данных, с которыми работает информационная система. При этом для каждого вида документа создается отдельный отчет, являющийся как бы бланком документа. В процессе работы отчет многократно вызывается, автоматически заполняется данными и печатается на принтере.
В состав Borland Delphi 7.0 входит два набора компонентов для работы с отчетами:
Quick Reports;
Rave Reports.

Quick Reports – простейший набор компонентов для создания отчетов. Он хорошо подходит в тех случаях, когда требуется быстро построить простой отчет. С 3-й по 6-ую версии Delphi компоненты Quick Reports были единственным средством построения отчетов.
В 7-й версии Delphi был добавлен гораздо более мощный набор компонентов Rave Reports, который хорошо подходит для построения сложных отчетов. Этот набор компонентов теперь считается основным. Однако компоненты Quick Reports также входят в состав Delphi 7.0, хотя по умолчанию и не показаны на палитре компонентов.
Далее будут рассмотрены оба этих набора.

Набор компонентов Quick Reports


Чтобы набор Quick Reports стал доступен, необходимо в среде Delphi установить соответствующий пакет (package) компонентов. Пакет представляет собой специальную динамическую библиотеку с расширением *.bpl, в нашем случае – dclqrt70.bpl. Для установки пакета следует выполнить пункт меню Component–Install Packages, нажать кнопку Add и далее выбрать требуемый пакет. Как правило, пакеты расположены в следующей папке: C:\Program Files\Borland\Delphi7\Bin.
Установленный набор компонентов размещен на вкладке QReport. Перечислим наиболее часто используемые компоненты, входящие в состав Quick Reports:
- TQuickRep – визуальный компонент, составляющий основу отчета. На нем размещаются все остальные элементы отчета;
- TQRLabel – текстовая метка. Компонент аналогичен стандартному компоненту TLabel, но приспособлен для использования в отчетах;
- TQRDBText – текстовое поле. Компонент предназначен для отображения в отчете значений заданного поля БД;
- TQRExpr – выражение. Компонент предназначен для отображения в отчете вычисляемых полей.
Пусть требуется создать отчет для печати информации о перечне всех товаров с указанием названия товара и его цены в рублях и долларах. Порядок создания отчета следующий:
1. Создать новую форму, дав ей имя FormQuickRep, и сохранить ее в модуле UQuickRep.pas.
2. Подключить к модулю UQuickRep.pas модуль главной формы приложения (будем считать, что он называется UMain.pas):
uses
Windows, ..., UMain;



Аналогично, подключим к модулю главной формы модуль UQuickRep.pas:
uses
Windows, ..., UQuickRep;



3. Разместить на форме FormQuickRep компонент типа TQuickRep, дав ему имя QuickRep.
4. Разместить на форме FormQuickRep компоненты TADOConnection и TADOQuery, задать им имена ADOConnection и QueryGoods. Связать компоненты между собой, подключить компонент ADOConnection к требуемой БД и занести в свойство SQL компонента QueryGoods необходимый запрос на выборку к БД, например:
SELECT * FROM Товары



5. Задать для компонента QuickRep следующие свойства:
- Набор данных, по которому составляется отчет:
DataSet := QueryGoods



Если это свойство не задать, то в отчете будет выводиться информация только об одной строке набора данных.
- Разрешить отображение полосы заголовка:
Bands.HasTitle := true



- Разрешить отображение полосы названия полей:
Bands.HasColumnHeader := true



- Разрешить отображение полосы отдельных записей:
Bands.HasDetail := true



6. Создать заголовок отчета, для чего разместить в центре полосы заголовка компонент типа TQRLabel и задать название отчета в его свойстве Caption, например, «Перечень товаров».
7. Создать шапку отчета, для чего разместить на полосе названий полей несколько компонентов типа TQRLabel и задать названия полей в их свойствах Caption, например, «Наименование»,«Цена в руб»,«Цена в $».
8. Разместить на полосе отдельных записей два компонента типа TQRDBText для вывода наименования товара и цены товара в рублях. Задать для обоих компонентов имя набора данных QueryGoods в их свойствах DataSet и названия соответствующих полей набора данных в свойствах DataField.
9. Разместить на полосе отдельных записей компонента типа TQRExpr. Задать свойство Expression, записав в него следующее выражение для вычисления цены в долларах:
QueryGoods.Цена /30
При необходимости можно использовать мастер для построения выражений, позволяющий выбирать поля таблиц БД (кнопка Database Field), стандартные функции (кнопка Function) и переменные (кнопка Variable).
Внешний вид разработанного отчета представлен на рисунке 1.



10. Разместить на главной форме кнопку, дав ей название “QuickRep” и написав для нее обработчик, вызывающий предварительный просмотр отчета:
FormQuickRep.QuickRep.Preview;



При необходимости печати отчета обработчик выглядел бы следующим образом:
FormQuickRep.QuickRep.Print;



11. Откомпилировать и запустить приложение, убедиться в его работоспособности.
12. Улучшить внешний вид отчета, изменяя шрифты, местоположение полей и другие настройки компонентов отчета.

Набор компонентов Rave Reports


Набор компонентов размещен на вкладке Rave. В его состав входят следующие основные компоненты:
TRvProject – компонент отчета. Обеспечивает загрузку ранее созданного в визуальной среде Rave Reports отчета из файла с расширением rav.
TRvSystem – компонент управления отчетом. Обеспечивает работу приложения с отчетом. Взаимодействуя с компонентом отчета, с одной стороны, и сервером отчета Rave Reports, с другой, этот компонент обеспечивает просмотр и печать отчетов.
TRvCustomConnection, TRvDataSetConnection, TRvTableConnection, TRvQueryConnection – группа компонентов соединения с источниками данных, предназначенные для подключения отчетов к различным источникам данных.
TRvNDRWriter, TRvRenderHTML, TRvRenderPreview, TRvRenderRTF, TRvRenderPrinter, TRvRenderText, TRvRenderPDF – группа компонентов преобразования данных, позволяющих конвертировать отчеты из формата данных Rave Reports в другие форматы (текстовый, PDF, HTML, RTF), а также распечатывать или просматривать отчеты.
Основой отчета является файл отчета с расширением rav, который создается в визуальной среде разработки Rave Reports и называется проектом отчета. Созданный проект отчета необходимо связать с приложением Delphi. Для этого используется компонент TRvProject, который обеспечивает представление отчета в приложении. Для просмотра и печати отчета используется компонент TRvSystem, котоый взаимодействует непосредственно с ядром Rave Reports. При компоновке приложения ядро Rave Reports автоматически включается в его состав. Схема взаимодействия компонентов Rave Reports приведена на рисунке 2.



Для того чтобы приложение Delphi могло выполнять функции печати отчетов, разработчик должен выполнить следующий набор операций.
Создадим отчет аналогичный рассмотренному ранее, используя набор компонентов Rave Reports. Порядок создания отчета следующий:
1. Разместить на главной форме приложения следующие компоненты: TRvProject, TRvSystem, TRvDataSetConnection, TADOConnection и TADOQuery, задав им имена, соответственно: RvProject, RvSystem, RvDataSetConnection, ADOConnection и QueryRaveRep. С помощью свойства Engine связать компонент RvProject с компонентом RvSystem. Настроить компонент RvDataSetConnection, подключив его к компоненту QueryRaveRep с помощью свойства DataSet. Связать компоненты QueryRaveRep и ADOConnection, подключить компонент ADOConnection к требуемой БД. Для компонента QueryRaveRep задать следующий текст запроса:
SELECT Наименование as Name,
Цена as PriceRub,
Цена /30 as PriceUSD
FROM Товары



2. При помощи визуальной среды разработки Rave Reports создать проект отчета. Для этого выполнить двойной щелчок по компоненту RvProject или выбрать пункт меню Tools–Rave Designer. В открывшемся редакторе отчетов выполним пункт меню File–New Data Objects, чтобы настроить соединение с БД. В открывшемся окне выберем пункт меню Direct Data View (рисунок 3).



В следующем окне (рисунок 4) выберем ранее созданный компонент соединения RvDataSetConnection и нажмем кнопку Finish.



Далее для упрощения создания отчета воспользуемся мастером построения отчетов. Для этого выполним пункт меню Tools–Report Wizards–Simple Table. В ходе выполнения мастера потребуется выбрать поля, включаемые в отчет, и порядок следования полей, а также задать текст заголовка отчета. Пример отчета, созданного с помощью мастера, представлен на рисунке 5.



Теперь можно отредактировать сгенерированный отчет, задав необходимые настройки шрифтов. После окончания редактирования необходимо сохранить отчет, выбрав пункт меню File–Save As и задав имя отчета, например, goods.rav. Для предварительного просмотра отчета следует нажать F9.
Далее следует закрыть окно Rave Reports.
3. В компоненте RvProject задать свойство ProjectFile, указав в нем имя ранее созданного файла проекта отчета (goods.rav).
4. Разместить на главной форме кнопку, дав ей название “QuickRave” и написав для нее обработчик, вызывающий предварительный просмотр отчета или выполняющий его печать:
RvProject.Execute;



Чтобы задать, какое действие будет выполнялся по умолчанию, следует задать в компоненте RvSystem свойство DefaultDest:
- предварительный просмотр:
DefaultDest := rdPreview;



- печать:
DefaultDest := rdPrinter.



5. Откомпилировать и запустить приложение, убедиться в его работоспособности.

Исходники:







Опубликовал Kest March 26 2009 15:24:02 · 1 Комментариев · 65535 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Ефим December 18 2009 11:54:16
К слову сказать, Microsoft официально информирует о начале распространения в СНГ нового программного продукта Microsoft Security Essentials, обеспечивающего, как они надеются, крепкую защиту компьютера от вирусов, шпионских программ и иных вредителей. Новое антивирусное программное обеспечение предоставляется всем обладателям лицензии Windows на халяву. По итогам теста проводимом ресурсом Virus Bulletin данный антивирус обнаружил 100% вирусов из глобальной вирусной коллекции.
Лично у меня после NOD 32 он откопал еще 7 вирусов. До поры до времени оставил. Посмотрим ...
Скачать его можно на официальном сайте Microsoft.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Создание меню на ...
Run
Добавление к ссы...
Игра "Астероиды" ...
Рисование PopupMenu
PHP: настольная к...
Панель поиска
Программирование ...
IIIDTrans
Библия хакера 2 К...
Философия C++. Пр...
Фильтры изображений
Illusion
Калькулятор [Исхо...
Последние загруж...
Архив программ
WordReport
DS_Group
OnlineIP
Приложение Клиент...

Топ загрузок
Приложение Клие... 100771
Delphi 7 Enterp... 97787
Converter AMR<-... 20259
GPSS World Stud... 17014
Borland C++Buil... 14186
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5968
Visual Studio 2... 5205
Microsoft SQL S... 3661
Случайные статьи
Компонент метка
Оболочка независим...
Как не платить МГТ...
Изменения Уловки
Замена пластиковог...
В здании несколько...
Основные принципы ...
Классификация устр...
Горизонтально напр...
Виртуальная телефо...
Игорные слоты
Что такое PageRank ?
5.2. Ввод и вывод...
Сценарий: для моде...
База знаний - стол...
чтобы переданные п...
Фильтр "не"
Работа с директори...
Настройка фотоаппа...
Построение двусвяз...
Новые возможности ...
Тестирование, поис...
Анонимность в Mirc
10 основных способ...
Преобразование пол...
Статистика



Друзья сайта
Программы, игры


  • Юрист киров
  • Киров! Звоните сейчас, квалифицированная юридическая помощь, большой опыт
  • advokat-volosenkov.ru
Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?