Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

While not Table1.EOF do begin




Begin

Var

Begin

RvProject1.Execute;

End;

 

B. Существует альтернативная технология создания отчетов в Delphi Quick Report.

Этот компонент всегда помещается на пустую форму, образуя с ее помощью визуальную среду конструирования отчета.

Для создания отчёта необходимо выполнить последовательность действий:

1. Создать дополнительную форму для отчёта,выбрав опции меню File->New Form, вынести на форму отчёта компоненту TQuickRep из вкладки Qreport и сохраните.

2. Эта форма не будет создаваться автоматически в момент старта программы, поэтому после ее присоединения к проекту выберите команду Project-> Options и перенесите ее в список доступных форм Available forms.

3. С помощью команды File->Use unit связать новую форму с модулем данных, после чего поместить в свойство DataSet компонента QuickRep1 значение того набора данных, который будет содержать основную информацию.

4. Вынести на форму отчёта компоненты QRBand (полосы отчёта). Эта компонента является частью печатной страницы, т.е. основанием для ввода данных. В зависимости от свойств BandType различают несколько типов компоненты QRBand: за­головочная полоса (rbTitle) выводится только один раз в начале страницы (может содержать заголовок и наименования столбцов таблицы); полоса данных (rbDetail) содержит значения полей текущей записи и выводится столько раз, сколько записей в таб­лице; rbSummary выводится один раз в конце отчёта.

5. Установить значение свойства BandType компоненты QRBand. Рекомендуется выносить как минимум две полосы: за­головочную и данных.

6. На заголовочную полосу вынести компоненты QRLabel (аналогичны компонентам Label). Свойство Caption содержит выводимую на печать информацию (например, наименования столбцов, поясняющие надписи, расчётные значения и т.д.).

7. На полосу данных вынести компоненты QRDBText, ото­бражающие значения определённых полей таблицы. Свойство DataSource устанавливает имя источника данных, а свойства DataField — имя выводимого поля.

8. Скорректировать размеры полос и взаимное расположе­ние на них компонент.

Предварительный просмотр на стадии проектирования при­ложения осуществляется двойным щелчком мыши на объекте QuickRep1.

 

Макет формы печати данных таблицы stud.dbf и рассчитанной средней оценкипредставлен на рис. 3.

 

 

Рис. 3. Внешний вид формы печати

Вывод данных на печать из программы выполняется встро­енным в компоненту TQuickRep методом Print.

Например, если имя компоненты TQuickRep - QuickRe­p1, то оператор

Form2.QuickRep1.Print;

выведет данные на печать, а

Form2:=TForm2.Create(Self);

Form2.QuickRep1.Preview;

Form2.Free;

осуществит предварительный просмотр на экране.

Необходимо предусмотреть в программе вывод в от­чёт расчётных значений с использованием компоненты QRLabel.

При предварительном просмотре или выводе на печать данные будут отображены в следующем виде (рис. 4).

 

Рис. 4. Данные таблицы stud.dbf при предварительном просмотре

4. Пример реализации программы расчёта средней оценки

 

Постановка задачи: необходимо организовать хранение информации о студентах: № зачётной книжки, шифр группы, ФИО, год рождения, пол, предмет, среднюю оценку по предмету. Обеспечить расчёт средней оценки для любого студента.

А. Создадим таблицу соответствующей структуры и Windows-приложение для работы с БД (см. методические указания к лабораторной работе №1).

B. Вынесем на макет формы приложения компоненту Edit с именем Edit1, компоненту Label с именем Label1 и компоненту Button с именем Button1 (см. рис. 1). Настроим свойства этих компонент в соответствии с табл. 1. Создадим обработчик события Click для компоненты Button1 и напишем в обработчике следующий код:

 

soz: real;

n: integer;

buf: string[50];

soz:=0;

n:=0;

Table1.First;

/* проверка совпадения поля FAM и текста в Edit1*/

if (Table1[‘FAM’] = Editl.Text) then begin

soz:=soz+Table1[‘OZ’];

n:=n+1;

end;

Table1.Next;

End;

If (n<>0) then soz:=soz/n;

buf:="Средняя оценка:”+FloatToStr(soz);

Label1.Caption:= buf;

QRLabel10.Caption:= buf;

End;

C. Создадим вторую форму выбором меню File->New. Вынесем на форму компоненту QuickRep из вкладки QReport.. Вынесем на форму отчёта три компоненты QRBand (со свойствами BandType rbTitle, rbDetail и rbSummary). На заголовочную полосу вынесем компоненты QRLabel и настроим свойство Caption для отображения названия отчёта и столбцов. На полосу данных вынесем компоненты QRDBText и настроим их на связь с соответствующими полями. На последнюю полосу вынесем компоненту QRLabel c именем QRLabel10. Внешний вид и расположение компонент соответствует рис. 3. Просмотр отчёта организуем добавлением компоненты Button2 и обработчиком события Click следующего содержания:

Form2:=TForm2.Create(Self);

Form2.QuickRep1.Preview;

Form2.Free;

 

После компиляции проекта необходимо проверить правильность работы программы.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 465; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.