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

Код для формы «Редактировать»

3 .3 Создание отчетов

Отчеты - это один из основных результатов работы проекта с базами данных. Для чего и создаются базы данных, как не для получения отчетов? Отчет подразумевает, что программа выбирает необходимые данные из НД (TTable, TQuery и т.п.) и выводит их на экран в удобном виде. Сам отчет можно не только просматривать, но и выводить его на печать. Лист профессионального отчета представляет собой сгенерированное графическое изображение, картинку, другими словами, данные в отчете редактировать уже нельзя. Не получится также выделить и скопировать в буфер обмена текст отчета. Готовый отчет выводит информацию, разбитую на страницы, и подготовленную к печати.

Отчеты создаются специальными наборами компонентов. Имеется очень много отчетов сторонних разработчиков, как платных, так и бесплатных, которые можно найти в Internet..

Установка Quick Report.

Quick Report представляет собой стандартный набор компонентов для создания отчетов. Он поставляется вместе с Delphi, но не устанавливается в палитру компонентов автоматически. Нам придется установить его самостоятельно.

Если пакет Quick Report у вас еще не установлен (на палитре компонентов отсутствует вкладка QReport), то загрузите Delphi и выберите пункт меню "Component -> Install Packages".

Нажмите кнопку "Add" и выберите пакет "dclqrt70.bpl", который по умолчанию устанавливается по адресу:

c:\Program Files\Borland\Delphi7\bin\dclqrt70.bpl

и нажимаем кнопку "Открыть". Далее, нажмаем кнопку "ОК" - пакет компонентов Quick Report установится, и его вкладка будет самой последней на Палитре компонентов. При желании можно перетащить ее мышью на другое место, поближе к началу.

Д ля самого отчета нам потребуется новая форма. Создаем ее, свойству Name присвойте значение fOtch1, а модуль сохраните под именем Otch1. Сразу же командой "File -> Use Unit" подключим к этой форме модуль данных DM, а к главной форме - только что созданный новый модуль отчета. В палитре компонентов перейдем на вкладку QReport. Самым первым компонентом на вкладке является QuickRep - основа всех отчетов. Устанавливаем его на новую форму, и он примет вид разлинованного листа. Это своего рода холст, на котором мы будем собирать различные части нашего отчета.

Выделили QuickRep и обратили внимание на его свойства. В самом верху находится свойство Bands (Ленты, полосы - англ.). Это раскрывающееся свойство, оно содержит шесть параметров. Щелкаем по плюсу слева от свойства, чтобы раскрыть его. По умолчанию, все параметры имеют значение False, то есть, не установлены. Если какой-либо параметр перевести в значение True, на холсте появится соответствующая полоса.

Перевели в True полосы HasTitle, HasColumnHeader, HasDetail. Не. Если дважды щелкнуть мышью по свободному месту холста, появится настроечное окно:

В этом окне можно выполнить большинство настроек, причем в Инспекторе объектов соответствующие свойства будут изменены автоматически. Как видите, установленные нами полосы отмечены "галочкой" в разделе Bands окна. Выше располагается раздел Page frame, в котором можно задать обрамление для верхней (Top), нижней (Bottom), левой (Left) и правой (Right) границ холста, а также изменить цвет и ширину обрамления. Те же действия можно выполнить в Инспекторе объектов с помощью параметров раскрывающегося свойства Frame (пока открыто окно настроек, менять свойства в Инспекторе Объектов не получится).

Теперь приступим к формированию отчета. На холсте у нас уже расположены три полосы. Теперь мы можем на эти полосы устанавливать другие компоненты. Прежде всего, напишем заголовок отчета. Для этого установили компонент QRLabel в центре полосы Title. Выделили его, и в свойстве Caption написали "Расписание приема врачей". Чтобы заголовок был красивым, щелкнули дважды по свойству Font, чтобы открылось окно шрифта. Здесь установливаем шрифт Times New Roman, начертание выбираем жирное, а размер шрифта пусть будет 18. Можно изменять и цвет шрифта, но при этом имеем в виду, что чаще всего отчеты печатают на черно-белых принтерах, так что злоупотреблять разными цветами не рекомендуется.

Далее займемся полосой Column Header (Заголовки колонок). Здесь установите рядом пять компонентов QRLabel, в свойстве Caption которых напишите соответственно название полей нашей таблицы «Расписания приема врачей».

Далее займемся полосой Detail, на которой, собственно, и будет формироваться таблица. Далее установливаем компоненты QRDBText, в которых будут отражаться данные из соответствующих полей таблицы. Эти компоненты соответствуют обычному DBText, с которым мы неоднократно сталкивались. Расположим их точно под названиями столбцов, чтобы таблица была красивой. Выделяем все QRDBText, и в их свойстве DataSet выбираем нашу таблицу fDM.TRaspisanie, затем поочередно в свойстве DataField этих компонентов выбираем соответствующие поля таблицы. Кроме того, сам компонент QuickRep1, который является "холстом" отчета, также должен знать, из какой таблицы ему нужно брать данные. Поэтому выделяем его, и в свойстве DataSet также выбираем нашу таблицу fDM.TRaspisanie. Также для сохранения отчета в различных форматах на форму можно установить такие компоненты как:

Q RTextFilter – позволяет сохранить отчет в виде текстового файла.

QRCSVFilter – позволяет сохранить отчет в специальном формате CSV (Comma Separated).

QRHTMLFilter – позволяет сохранить отчет в формате web-страницы.

Это не визуальные компоненты, на отчете они не отобразятся. Достаточно установить один из них (или все вместе) на основу отчета QuickRep, и при сохранении отчета пользователю станут доступны соответствующие форматы.

Далее необходимо вернуться в главное окно проекта и сгенерировать обработку команды меню "Отчеты – Основные средства предприятия" и подключить к главной форме наш отчет. В созданной процедуре написать такую строку:

procedure TfMain.N5Click(Sender: TObject);

begin

fRepKadr.QuickRep1.PreviewModal;

end;

Затем сохраняем проект, компилируем его и выполняем команду меню, появится подобное окно с отчетом.