Найти в Дзене
Мастер Marx

Установка компонента для печати TDBGrid в Delphi 10.4

Embarcadero Delphi 10.4.1 Sydney
Embarcadero Delphi 10.4.1 Sydney

Стандартного компонента для вывода на печать непосредственно данных TDBGrid в Delphi 10.4 нет. В данной статье будет приведен один из примеров такой реализации. Вот перечень необходимых действий:

Требования

- предварительно установленный пакет компонентов QuickReport 6 (см. здесь).
- предварительно установленная библиотека 'BDE Installer for RAD Studio 10.4 Sydney' (
скачать).

Установка

1. Сперва скачаем пакет данного компонента Freeware component TPrintDBGrid – PrnDBGrid.zip.

2. Из .zip архива нам нужны следующие файлы:
PrintDBGrid.dpk,
PrintDBGrid.res,
PrnDBGrid.dcr,
PrnDBGrid.pas

3. Откроем Delphi и в ней откроем File > Open project > PrintDBGrid.dpk. В окне проекта PrintDBGrid.bpl, в разделе Requires, удалим все что там есть

Удалить из проекта
Удалить из проекта

После этого, щелкнем ПКМ на раздел 'Requires' и выберем 'Add reference'. В 'Package name:' вводим rtl > OK, designide > OK.

4. Скачаем отсюда архив 'TeeChartPro_8.06_Src_with_update_XE.zip'. Извлечем из него 2 файла: 'TeeChart Pro 8.06 Source\Sources\QrTee.pas; TeeDefs.inc' и поместим их в одну папку с dpk. (в QrTee.pas при компиляции могут возникать ошибки кода, но они легко устранимы).

5. Откроем в Блокноте поочередно исходники QrTee.pas и PrnDBGrid.pas, в секциях uses изменим объявления к:

TeeProcs > VclTee.TeeProcs,
TeEngine > VclTee.TeEngine,
Chart > VclTee.Chart,
TeCanvas > VclTee.TeCanvas,
DBChart > VclTee.DBChart,
TeeConst > VclTee.TeeConst

6. В поиск Delphi добавим пути. Выберем меню Tools-Options-Language-Delphi-Library > Library path > Обзор > Обзор:

C:\Program Files (x86)\Embarcadero\Studio\21.0\source\ToolsAPI
C:\Users\username\Documents\Embarcadero\Studio\21.0\MyComponents\prndbgrid (путь к папке с нашим компонентом).

7. Все готово. Теперь ПКМ на PrintDBGrid.bpl и выбрать 'Compile' затем 'Install'. В палитре компонентов в 'Data Controls' появится новый компонент TPrintDBGrid.

Использование

-На форму добавим объект PrintDBGrid1.
-В секцию
uses добавим: PrnDBGrid, System.UITypes.
-Выберем меню 'Project – Options – Building – Delphi Compiler'.
-В 'Unit output directory' выберем 'Обзор' (…) и укажем папку '\Win32\Debug' нашего проекта, т.к. среда не может компилировать в Program Files (x86) файлы

ProjectName\Win32\Debug
ProjectName\Win32\Debug

В объектном инспекторе, в свойствах PrintDBGrid1 назначим:

DBGrid: DBGrid1
Setup: psPreview

В коде пишем:

procedure ...;
begin
PrintDBGrid1.Execute;
end;

Компилируем проект, если успешно, то мы все сделали правильно. На этом все, удачной работы. Вопросы оставляйте в комментариях.