Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 59616
Invision Power ... 58147
Организация зап... 58033
Модуль Forms 56784
Приложение «Про... 55810
Создание отчето... 55575
Оператор выбора... 55296
Подключение Mic... 55215
ТЕХНОЛОГИИ ДОСТ... 51699
Программируемая... 48616
Пример работы с... 47481
Имитационное мо... 47323
21 ошибка прогр... 42304
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

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

Метод конечных разностей для интерполяции/экстраполяции на Delphi
База данных междугородних телефонных разговоров на Delphi
Диплом - база данных поставщиков на Delphi (MS Sql Server)+ Пояснительна...

Реклама

Создание отчетов (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 18:24:02 · 1 Комментариев · 55575 Прочтений · Для печати

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


Комментарии
Ефим December 18 2009 14: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...
Шаблон для новост...

Случайные загрузки
Архив программ
Image Browser [Ис...
Последнее загруж...
Visual Basic for ...
Пятнашки и крести...
Голосование для ...
Реализация ЭЦП по...
Игра "Астероиды" ...
IIIDTrans
Создание лабиринт...
FatScrollbar
DeleteEdit
PHP 5 в подлинник...
Assembler. Учебни...
Программа для рис...
PDPcheck
Delphi 6. Учебный...
Сапёр
Советы по Delphi
Самоучитель Прогр...

Топ загрузок
Приложение Клие... 100289
Delphi 7 Enterp... 76495
Converter AMR<-... 20017
Borland C++Buil... 10576
GPSS World Stud... 9029
Borland Delphi ... 7564
Turbo Pascal fo... 6874
Visual Studio 2... 4884
Калькулятор [Ис... 3909
FreeSMS v1.3.1 3482
Случайные статьи
Создание тестов не...
Панель инструменто...
Кроме того, через ...
15.3. Порождение т...
• создайте учетную...
Вывести все 3х зна...
Управление страницами
Вы можете сразу от...
Биты, байты и слова
Работа с OLE-объек...
ИСПОЛЬЗОВАНИЕ ПРЕД...
У истоков трафа ча...
Прежде чем перейти...
удаленного офиса с...
Переопределенные м...
Аутентификация або...
Использование буф...
Уравновешивайте ра...
Тестирование прово...
LINITIAL (ИНИЦИАЛИ...
Анонимный доступ г...
Операции ввода-выв...
Windows
Блоки с информацие...
Содержимое объекта...
Статистика



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


  • Куба туры цены
  • Контактная информация, заказ тура Туристическое агентство
  • havanatur.ru
Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?