Изучаем Free Report. Простейший отчет.Сегодня мы научится выводить в программах на Delphi отчеты, используя Free report. На прошлом уроке вы уже установили free report. Теперь давайте для пробы создадим простейший отчет. Для этого кинем на форму компонент TfrReport (Если вы используете Turbo Delphi Explorer, вам придется создавать компоненты в Run-time режиме, но об этом в следующих уроках)*: Свойство StoreInDFM обязательно установите в true, что бы сохранить макет отчета, который мы с вами сейчас будем делать*: Затем просто щелкнем по выложенному на форму компоненту двойным кликом: Откроется дизайнер отчетов, который уже знаком вам по предыдущему уроку**: В первую очередь нам надо вставить секцию**: Когда вы ее попытаетесь положить на поле отчета, выскочит вот такой диалог**: пока мы положим заголовок (report title)**: На него положим прямоугольник с текстом** У нас откроется окно редактирование текстов, введем туда что нибудь**: Изменим шрифт и длину тактового поля, что бы выглядело красиво**: Теперь положим на форму кнопочку*: и напишем для нее обработчик OnClick:
Запускаем программу и жмем кнопку**: Если вы нажмете на иноку принтера, то данная печатная форма будет отправлена на принтер. Простейший отчет в Run time режиме.
Если у вас Turbo Delphi Explorer, то вы не смогли создать простейший отчет, созданный на прошлом уроке (Delphi, free report). поэтому сегодня я расскажу о том, как работать с Free Report в режиме Run Time. И так, откроем проект, который мы создали на уроке 8.10. Если у вас его нет, то откройте этот урок и создайте по нему проект. Это быстро. Добавим к форме кнопочку "печать" с обработчиком события OnClick:
Запускаем программу и нажимая на кнопку "Дизайнер": запуститься дизайнер отчетов, в нем так же рисуем наш отчет (см. предыдущий урок):* Правда, StoreInDFM в Run time режиме не работает, поэтому сохраните отчет в файл, нажав на дискету*: Правда, если вы вышли из программы и снова зашли, то связь с файлом не сохраниться, поэтому, прежде чем напечатать его вам придется снова зайти в дизайнер отчетов и открыть файл*: а уж потом жать на кнопочку "Печать". Возникает вопрос: а нельзя ли открывать файл автоматически? Можно. В обработчик события формы OnCreate добавьте строку типа:
Печать из базы данных.
Добавим на форму предыдущего урока компонент TTable*: Далее, с закладки FreeReport добавим компонент TfrDBDataSet*: Свяжем эти компоненты, для этого у свойства DataSet компонента frDBDataSet установим ссылку на TTable*: А у дизайнера отчетов установим ссылку на TfrDBDataSet*: Теперь в компоненте TTable откроем какую нибудь базу данных, ну например ту, что мы писали когда создавали программу складского учета (уроки 8.1, 8.2, 8.3, 8.4, 8.5.1, 8.5.2). Если у вас нет этих баз данных, можете скачать их отсюда). Так же если забыли про алиасы или не читали про них, загляните сюда (базы данных, alias). После этого щелкнем на дизайнере отчетов, в нем выберем опцию "Сервис" -> "Мастера" -> "Вставка полей БД в отчет"**: у нас появиться окно мастера добавления полей БД, в котором нам нужно выделить мышкой все поля и поставить галочку "Включать бэнды"**: После нажатия на кнопочку "ОК" у нас появиться вот такой макет отчета**: Все, редактирование отчета закончили, запускаем программу и нажав на кнопочку "Печать" видим следующую картину**: Как сделать так что бы заголовки были по русски? Нет ничего проще! Заходим в дизайнер отчетов и переименовываем заголовки**: После чего мы можем созерцать русские заголовки: |