FastReportЗдравствуйте, дорогие читатели. Сегодня потратил день на войну с FastReport.  Даже переустанавливал его. Хотя с начала всего лишь хотел  его русифицировать… Ну это лишь середина истории…

Что такое FastReport и чем его едят?

Начнем мы с того что такое FastReport?  Ну думаю многие слышали что-то типа – «это генератор отчета». И при слове «отчет» в голову IT-шника приходит образ кучи бумаг с таблицами, которые распечатываю чаще всего в бухгалтерии. Я хочу сказать, если вы так считаете, то сильно ошибаетесь.

«Отчет» — это целая философия о том, как должны выглядеть данные на выходе из вашей программы.

Например, у меня проект, который ведет учет застрахованных лиц в моей страховой компании. И одной из многих задач этого проекта, является отображение всех данных по человеку. Изначально я сделал форму на которой просто заполнял поля ввода. Но как показала практика, это не совсем удобно. Пусть на форме поля ввода разбиты по логическим группа: ФИО и Пол, Документы и т.д. НО просматривать не удобно. А вдруг возникнет ситуация нужно распечатать данные…Проблема!?!?!

Другой пример, после того как данные человека занесли в базу, нужно на печать вывести заявление в котором он распишется. Раньше, это был шаблон в виде файла *.xls, лежал рядом с программой — он заполняется программно и открывается для печати.

Минусы такого подхода:

— Если заполнять ячейку программно, тип данных по умолчанию выставляется на «Общий», в это случае лидирующий ноль обрезается.(решения пока не нашел)

-Статичность. То есть вы в коде прописали: «записать текст в эту ячейку». И если нужно, что поменять это довольно не удобно.

-Обязательно должен стоять Microsoft Office. Я изначально писал, через OLE поэтому не обходимо чтобы он стоял. Причем была интересная болезнь — если слетала активация, то были проблемы с файлами типа xlsx (2007 и выше). Вообще, в моем понимании, ХОРОШОЕ программное обеспечение не должно требовать от пользователя сторонних программ.

Ну а, что FastReport. В нем все круто… Больше даже говорить нечего. Приведу сравнение. Я писал формирование акта о передачи полисов через OLE, с шаблоном  *.xls – потратил сутки. Переделывал на FastReport с предпросмотром и экспортом в *.rtf — полдня (и то при условии что я первый раз  с ним серьезно разбирался).

Самое клевое экспорт… Выбираете компонент который будет экспортировать отчет в нужный вам формат и пишете одну строчку кода. И все! Одна строчка кода и FastReport все сделает за вас. Честно я был впечатлителен.

Готовим почву для установки FastReport 4 на Delphi XE.

В принципе FastReport входит в стандартную подставку Delphi XE. И его можно использовать по назначению. Правда, он на английском. То есть, например, при формировании отчета мне то собственно все равно. Но когда вы будете проводить экспорт выйдет диалог с настройками. Диалог на английском и меню в предпросмотре тоже. Я когда это увидел, с начала не сильно огорчило. Хотя после того как девчонки с пеной у рта стали доказывать с диалог на английском сбивает их столку, пришлось думать…

Начал гуглить. Нагуглил, что в принципе русифицировать FastReport 4 можно легко. Но когда начал делать, что-то пошло не так… Не знаю точно — дело было в дистрибутиве или в стандартном компоненте… Не хотел он русифицироваться. Да потом еще в добавок, стал выдавать кучу ошибок и вообще слетел с «катушек». Удалил я стандартный FastReport 4. С это момента начну подробнее…

В общем будем делать в три этапа:

1.Сносим «стандартный» FastReport 4 который идет в  Delphi XE.
2.Ставим уже нормальный дистрибутив FastReport 4. Скачать.
3.Русифицируем установленный Fast Report 4 на Delphi XE.

Для того чтоб удалить «стандартный» FastReport 4 переходим в раздел  «Component|Install Packages…»

Component|Install Packages
Component|Install Packages

Откроется диалог  Install Packages. В нем находим Fast Report 4.0, кликаем по строке и нажимаем  «Remove». Проделываем эту операцию для выделенных элементов на картинке.

Install Packages
Install Packages

После того как удалили «стандартный» Fast Report 4.0. Переходим собственно к установке.

Установка FastReport  на Delphi XE.

Запускаем скачанный дистрибутив, он предлагает установку. Путь не меняйте, пусть  распакует по стандартному пути. Там не чего сложного, просто «Далее» и т.д.

установленный  FastReport 4
Путь к установленному FastReport

У меня после установки он распаковал все в папку «C:\Program Files (x86)\FastReports».  Распакованный  дистрибутив состоит из двух частей — runtime и design-time части. Design-time пакеты имеют префикс ‘dcl’ в имени пакета. Каждый пакет имеет номер, соответствующий версии Delphi. Например, пакет dclfrx4.dpk — это design-time пакет для Delphi4. Ниже приведен список run-time пакетов, используемых FastReport (‘*’ означает версию Delphi):

Состав пакета run-time в (он лежит в папке LibD18).

fs*.dpk — FastScript, основной пакет
fsDB*.dpk — FastScript, DB классы и контролы
fsBDE*.dpk — FastScript, BDE компоненты
fsADO*.dpk — FastScript, ADO компоненты
fsIBX*.dpk — FastScript, IBX компоненты
fsTee*.dpk — FastScript, Tee компоненты
frx*.dpk — FastReport, основной пакет
frxDB*.dpk — FastReport, обертка над TDataSet (TfrxDBDataSet)
frxIBO*.dpk — FastReport, обертка над IB_Objects (TfrxIBODataSet)
frxBDE*.dpk — FastReport, BDE компоненты
frxADO*.dpk — FastReport, ADO компоненты
frxIBX*.dpk — FastReport, IBX компоненты
frxDBX*.dpk — FastReport, DBX компоненты
frxTee*.dpk — FastReport, Tee компоненты
frxe*.dpk — FastReport, фильтры экспорта

Состав пакета  Design-time пакеты:

dclfs*.dpk
dclfsDB*.dpk
dclfsBDE*.dpk
dclfsADO*.dpk
dclfsIBX*.dpk
dclfsTee*.dpk
dclfrx*.dpk
dclfrxDB*.dpk
dclfrxIBO*.dpk
dclfrxBDE*.dpk
dclfrxADO*.dpk
dclfrxIBX*.dpk
dclfrxDBX*.dpk
dclfrxTee*.dpk
dclfrxe*.dpk

Ручная установка  Fast Report 4.

    1. Открываем «LibD18».
    2. Используем маску для поиска f*11.dpk (Пример для Delphi XE4). Версию можно узнать вот здесь  номер папки.
Как  узнать версию Delphi
Как узнать версию Delphi
  1. Все найденные файлы (пакет run-time) копируем и переносим в «Windows\System32».
  2. Закройте Delphi.
    — скопируйте \LibD18\fs*.bpl файл (* = версия Delphi) в Windows\System32
    (Windows\System для Windows 95/98/ME)
    — скопируйте \LibD18\fsDB*.bpl файл в Windows\System32
    — скопируйте \LibD18\fsBDE*.bpl файл в Windows\System32
    — скопируйте \LibD18\fsADO*.bpl файл в Windows\System32
    — скопируйте \LibD18\fsIBX*.bpl файл в Windows\System32
    — скопируйте \LibD18\fsTee*.bpl файл в Windows\System32
    — скопируйте \LibD18\frx*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxDB*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxBDE*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxADO*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxIBX*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxDBX*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxTee*.bpl файл в Windows\System32
    — скопируйте \LibD18\frxe*.bpl файл в Windows\System32
  3. Установка design-time пакетов. Открываем Delphi XE, выберите «Component|Install Packages…«.
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfs*.bpl (* = версия Delphi)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfsDB*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfsBDE*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfsADO*.bpl (D5+)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfsIBX*.bpl (D5+)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfsTee*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrx*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxDB*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxBDE*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxADO*.bpl (D5+)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxIBX*.bpl (D5+)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxDBX*.bpl (D6+)
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxTee*.bpl
    — нажмите кнопку «Add…» и выберите файл \LibD18\dclfrxe*.bpl. Можно сделать это процесс простым в поле имя файла пишете dcl*.bpl. Windows сам отсортирует по указанной маске и вам остается просто выбрать все файлы по порядку и все!(маленькая хитрость)
  4. Добавление путей.
    — в , выберите «Tools|Environmet options…»
    — переключитесь на закладку «Library», строка ввода «Library path»
    — добавьте путь к папке «FastReport\LibD18″

Все с установкой мы закончили.  Можно проверить. Откройте новую форму и киньте на нее компонент «frxReport1». После двойного клика по нему откроется визуальный дизайнер отчета.  (Как им пользоваться я расскажу в следующей статье.)

менюFastReport
Русифицированный FastReport

Русификация FastReport 4 для Delphi XE.

Если вы выполнили все выше описанные действия, то русификация не займет много времени. В меню «Пуск» или прям в папке куда установили FastReports (“C:\Program Files (x86)\FastReports\”)  ищем файл «recompile.exe».

1.Запускаем (Причем желательно запускать от имени администратора, чтоб не возникало проблем).

Русификация FastReport
Русификация FastReport

Нам говорят, что нужно закрыть Delphi, и выполнить еще какую-то белиберду:) нажимаем «Continue».

Русификация Fast Report 4
Русификация Fast Report 4

Если вы все сделали правильно, под кнопками появится лог действий, там будет перечислены отработанные компоненты и надпись «Done». Важно — если появляется просто до «Done» или пишет ошибку – Запустите от имени Администратора.
После все закрываем, проверяем изменился язык в визуальном дизайнере отчетов. В следующей статье расскажу подробно, как построить простенький  отчет и как можно его формировать программно. Скачать дистрибутив Fast Report 4.
Надеюсь, данная статья будет вам полезна, Дорогие Читатели! С уважением ваш Shinobi.

6 комментариев

  1. Сергей

    Интересно, но я не уловил сути( надо будет попробовать)

    Ответить
    • admin_shinobi

      Когда я первый раз делал, то же не сразу понял…Ну я еще выложу статью как использовать FastReport …Распишу все для новичков.

      Ответить
  2. Сергей

    Сейчас более-менее догоняю смысл от фаст репорта, но на практике еще не пробовал, вроде плюсы\минусы весьма значительные. При установке не нашел пункта XE5, а именно такая у меня версия, оставил 4ку. Вроде все встало норм.

    Ответить
  3. Сергей

    Не нашел компонентов чего-то с ходу)

    Ответить
  4. Сергей

    скачал с оф сайта для XE5, все пошло

    Ответить
  5. admin_shinobi

    Да он в XE идет в стандартной подставке)

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.