Отчеты, как одна из типичных выходных форм системы системной информации, являются важной функцией большинства приложений, которые являются необычными и важными функциями систем MIS. Независимо от того, имеет ли он хорошую функцию печати часто связана с успехом или сбоем системы в определенной степени. Delphi имеет сильные функции отчетности, но его функции отчетности не могут удовлетворить наши потребности. Таким образом, многие эксперты Delphi последовательно запустили много превосходных элементов управления отчетами (модули) в качестве добавок к QuickReport, среди которых FasterPort является представителем.
Fastereport объединяет преимущества QuickReport и ReportBuilder, он небольшой по размеру, быстро в скорости и имеет весь исходный код. При разработке системы лечения лекарств автор успешно выпустил отчет на основе форм, который был точно таким же, как форма принятия лекарственного средства и распределение лекарств с использованием Fastereport 2.51. Позвольте мне представить это моим друзьям ниже.
FastrePort2.51 Адрес загрузки: http // www.skycn.com/soft/8805.html.
Отчет Анализ требований
Друзья, работающие в больнице, знают, что когда наркотики помещают на склад, они должны заполнить форму принятия лекарств, и когда персонал аптеки получает лекарства, они должны заполнить форму распределения лекарств. Форма принятия препарата и форма распределения, используемая автором, не выделяются, а общая форма принятия продукта и форма распределения. В отличие от отчетов, используемых в универмагах и телекоммуникационных системах, его внешний вид имеет режим формы, и каждый лист может быть заполнен пятью видами лекарств, включая блок доставки, номер заказа доставки, блок доставки, название продукта, спецификация, единица, цена , Количество и т. Д., Один стиль и тройная комбинация.
Подводя итог, мы можем суммировать требования конструкции отчета следующим образом:
1. Размер: длиной 21 см и шириной 10 см;
2. Каждый может печатать 5 видов лекарств, а подтота этой страницы находится в форме.
3. Когда есть более 5 лекарств, начните печатать новую форму.
Отчет дизайн
1. Откройте дизайнер отчета FasterPort и разработайте «Форму принятия наркотиков», согласно рисунку 1.
(Картинка большая, пожалуйста, потяните полосу свитка, чтобы посмотреть)
Кроме того, переменные inhj, outhj, cahj и linecount представляют «общее количество в магазине», «общее место в магазине», «полная разница» и «общие данные данных», и эти переменные будут назначены значения в программа
2. Нажмите F11, чтобы вызвать зритель объектов, выберите Band2 и введите следующий код в его событие OnbeForPrint:
Начинать
Если line#-1 <> 0 и line#-1 mod 5 = 0 тогда
Начинать
Showbandchild1
Showbandband1
конец
конец
В коде используйте встроенную функцию line# Fastereport, чтобы получить текущий номер строки.
3. Выберите Child3 и введите следующий код в его событие OnbeForPrint:
Начинать
lin = lineCount // Присвоение значению этой переменной в программе
В то время как lin mod 5 <> 0
Начинать
Showbandchild2 // Печать пустые линии
Inclin
конец
Showbandchild3
конец
Цель этого кода состоит в том, чтобы напечатать пустые строки, если последней строки данных недостаточно для отображения формы.
4. Выберите Band3 и введите следующий код в его событие OnbeForPrint:
Начинать
ShowBandchild1 // Когда отчет достигнут, отображается содержание внизу формы
конец
5. Сохраните отчет и вернитесь в среду разработки Delphi.
Delphi Programming Part
В программировании Delphi мы в основном завершаем передачу параметров, необходимых для отчета.
Частный
line1line2integer // Сохранить номер строки
inputxjintemp // subtotal inplying в склад, ясно после каждых 5 строк, то же самое ниже
OUTXJOutemp // Выходная подтотальная
Cajiaxjcatempreal // субтотальный разница в ценах
Ниже приведен список кодов для нескольких основных процессов.
// процесс слияния данных с одной формой
Процедура tinputform.frdbdataset1nextsender tobject
вар
Recountinteger
Начинать
Пересчет = Adoruku.recordCount
Incline1 // Эта переменная передается в файл отчета для управления печати пустых строк
Incline2 // Эта переменная управляет подтотальным значением
Если не adoruku.eof, тогда
Начинать
inputxj = inputxj+adoruku.fieldbyname'input ummal'.asfloat
upxj = upxj+adoruku.fieldbyname'out-deposit сумма '.asfloat
Cajiaxj = cajiaxj+adorukujxcj.asfloat
конец
// очистить подтотальное значение после каждых 5 строк
Если line2 mod 5 = 0 и recount> line2 div 5 5 тогда
Начинать
intemp = inputxj
OUTEMP = OUTXJ
Catemp = cajiaxj
inputxj = 0
upxj = 0
Cajiaxj = 0
конец
// назначить значение переменной, когда она достигает конца набора данных
Если adoruku.eof, то
Начинать
intemp = inputxj
OUTEMP = OUTXJ
Catemp = cajiaxj
конец
конец
Приведенная выше программа была отлажена и передана в Windows 2000/XP+Delphi6.0. До сих пор мы завершили конструкцию формы принятия лекарственного средства, и другие аналогичные конструкции отчетов могут относиться к вышеуказанному процессу. Рисунок 2 является предварительным эффектом отчета, сгенерированного при запуске программы.
(Картинка большая, пожалуйста, потяните полосу свитка, чтобы посмотреть)