Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VP_LAB_BD_DELPHI_RUS.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.93 Mб
Скачать

6.1.11. Выполнение команд подменю ‘Вычислить:’

Для выполнения команды ‘Вычислить: - сумму стипендий’ - формирования и вывода на метку суммы столбца - используется непосредственный доступ к записям БД в методе N24Click. Пример его текста дан в листинге 6.2.

Для формирования и вывода на метку Label11 значения средней стипендии из метода N25Click вызывается метод N24Click(Sender); с его помощью определяется S - сумма стипендий. Затем определяется ее среднее.

6.1.12. Метод команды меню Трафик' и настройка графика

Для формирования графика зависимости данных из БД используется компо­нент типа TDBChart. Настройка его параметров не отличается от настройки па­раметров компонента типа TChart. За исключением: в его редакторе надо установить источником данных базу данных.

В рассматриваемом примере график выводится на отдельной форме. Для ее показа в процессе выполнения программы в методе для пункта меню График используется оператор Form2.Show;. К модулю Form1 надо подключить Form2 оператором UsesUnit2;.

Настройка графика состоит в следующем. К проекту подключить вторую фор­му Form2. На нее поместить компонент типа TDBChart из страницы DataControls. Вызвать редактор компонента EditingDBChart1, например, двойным щелчком правой кнопкой на компоненте. Разместить на компоненте 2 кривые, например типа Line. Установить их свойства Title, например ‘Номер зачетки – стипендия’, ‘Номер зачетки - новая стипендия’. На странице редактора Chart\Titles установить заголовок, например ‘Зависимость стипендии от номера зачетки’. Настроить па­раметры на страницах редактора Chart\Panel, Chart\Axis, Chart\Walls аналогично настройкам, изложенным в разделах 8.4 и 4.1. На странице Chart\Legend устано­вить положение легенды в нижней части компонента. Для этого в группе Position установить активность радиокнопки Bottom. Для параметра LegendStyleвыбрать из списка значение Automatic.

На странице Series\DataSourse (источник данных) выбрать источник данных в ви­де Dataset. Вид редактора со страницей Series\DataSourse дан на рис. 6.7. Выпа­дающий список Dataset содержит имена наборов данных, доступных в модуле формы Form1. Из него выбрать значение Form1.Table1. Настроить серии.

Рис. 6.7. Вид Series\DataSourse - страницы редактора

Для этого в окне для выбора серии выбрать кривую Series1 с именем ‘Номер зачетки – стипендия’. Для нее в окне X выбрать из выпадающего списка значе­ние NZ. В окне Y: выбрать из выпадающего списка значение RS. Аналогично выбрать кривую Series2 с именем ‘Номер зачетки - новая стипендия’. Для нее в окне X: выбрать из выпадающего списка значение NZ. В окне Y: выбрать из выпадающего списка значение NRS.

При выполнении приложения дизайн графика кривой выглядит так же, как и при проектировании.

Текст модуля для формы Form2 дан в листинге 6.3.

6.1.13. Выполнение команд подменю Отчет

6.1.13.1. Формирование отчета

Для вывода отчета с данными из БД используется отдельная форма Form3 В модуле основной формы должна быть ссылка (UsesUnit3;) на модуль Form3. Данные БД выводятся в отчет с помощью компонентов, расположенных на странице QReport. Она содержит 23 различных компонента, предназначенных для вывода данных, размещенных в базах данных. В примере приложения формируется простой отчет. Для этого использованы 7 различных типов компонентов:

- TQuickRep - компонент-отчет;

- TQRBand - полоса - основная составная часть отчета, на которой размеща­ются другие его компоненты;

- TQRLabel - аналог компонента типа TLabel - для вывода заголовков столбцов;

- TQRDBText - для вывода текстовых значений поля записи (аналог DBText и DBEdit);

- TQRExpr - для вывода результатов вычислений, выполненных для отчета;

- TQRSysData - для вывода даты отчета;

- TQRDBImage - для вывода графического компонента записи БД.

Вид фрагмента формы с отчетом представлен на рис. 6.8. Текст модуля формы FormЗ представлен в листинге 6.4.

Рис. 6.8. Фрагмент формы с проектом отчета на этапе разработки приложения

QuickRep1 типа TQuickRep - компонент-отчет. Это основа, на которой раз­мещаются другие компоненты. Он имеет вид страницы формата А4. С помощью свойства DataSet = Form1.Table1 этот компонент связывается с набором данных, которые надо отобразить в отчете.

После размещения компонента отчета можно изменить его параметры с помо­щью редактора страницы отчета (ReportSettings). Вызвать редактор можно двой­ным щелчком на компоненте или с помощью меню, вызванного щелчком правой кнопки мыши.

Отчет состоит из отдельных полос (компонентов типа TQRBand), на которых размещаются другие компоненты отчета. Каждый компонент размещается на том месте, где должны отображаться соответствующие компоненты (например, метки с заголовками) отчета или данные из БД. После размещения полосы на форме можно изменять ее размеры перетаскиванием ее горизонтальных границ. Полоса отчета имеет рамку и тип полосы, установленный в свойстве BandType. Тип полосы может иметь одно из 11 допустимых значений, например:

- RbTitle - для вывода заголовка таблицы; выводится в начале отчета;

- RbColumnHeader - для вывода заголовков столбцов;

- RbDetail - для вывода значений элементов записей таблицы;

- RbSummary - для вывода итоговых значений; выводится под всеми све­дениями БД отчета; может содержать подписи под отчетом.

Отчет можно просматривать перед печатью.

В компоненте QRExpr размещается значение, формируемое выражением, в ко­тором могут использоваться значения результатов обработки полей записи. Выра­жения можно формировать в методах для их вычисления. Заготовка метода вызывается двойным щелчком на компоненте. Для вычисления значений можно использо­вать встроенные функции. Вызов списка функций производится из свойства Expression компонента QRExpr. Вид редактора выражений для компонента QRExpr дан на рис. 6.9.

Рис. 6.9. Вид редактора выражений для компонента QRExpr

В приведенном примере проекта в компонентах QRExpr используются функ­ции (рис. 6.8):

- SUM - для вычисления суммарной новой стипендии;

- МАХ - для определения максимального значения новой стипендии.

Компонент QRSysData содержит системную информацию. Ее тип определяется свойством TQRSysDataType. Оно может принимать одно из 10 допустимых значений. Например: qrsDate - вывод текущей даты, qrsDateTime - вывод текущей даты и времени; qrsTime - текущего времени; qrsDetailCount - количества записей в наборе данных; qrsImage - графического образа.

Вприведенном примере проекта используется компонент QRSysData со значением свойства TQRSysDataType = qrsDate для вывода текущей даты (рис. 6.8).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]