Конвертация в .fr3 из QuickReport и ReportBuilder

15.08.2019

logo

Для этого выполним следующий список действий:

   1. Создадим новую программу  (File -> New -> VCL Forms Application).

   2. В список Uses добавьте ConverterQR2FR (для конвертации QR) или ConverterRB2FR (для конвертации RB).

   3. . В зависимости от установленных компонентов может потребоваться удалить следующие блоки из списка Uses в ConverterQR2FR.pas или ConverterRB2FR.pas:

   VCLTee.TeeProcs, VCLTee.TeEngine, VCLTee.Chart, VCLTee.Series, VCLTee.TeCanvas

   frxChart, frxBDEComponents, frxIBXComponents

   4. Добавьте на форму следующие компоненты:

  • frxReport
  • OpenDialog
  • Button1, Button2, Button3
  • ListBox1, ListBox2
  • Label1, Label2

 screenshot 1

Добавьте данный код в событие Button1Click() кнопки Select File.

Код Button1Click:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 FirstLine: string;
begin
 OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist];
 OpenDialog1.Filter := 'Delphi Form (*.dfm)|*.dfm|' + 'QuickReport (*.qr2)|*.qr2|'+
 'ReportBuilder (*.rtm)|*.rtm' + '|All files (*.*)|*.*';
 OpenDialog1.FilterIndex := 1;
 if OpenDialog1.Execute then
 with OpenDialog1.Files do
 for i := 0 to Count - 1 do
 ListBox1.Items.Add(Strings[I]);
end;

Добавьте данный код в событие Button2Click() кнопки Select File.

Код Button2Click:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button2Click(Sender: TObject);
 var
 i: integer;
 s : string;
begin
 ListBox2.Clear();
 with ListBox1.Items do
 for i := 0 to Count - 1 do
 if frxReport1.LoadFromFile(ListBox1.Items[i]) then
 begin
 s := ListBox1.Items[i].Substring(0,ListBox1.Items[i].Length-4)+'.fr3';
 frxReport1.SaveToFile(s);
 ListBox2.Items.Add(s);
 end;
end;

Добавьте данный код в событие Button3Click() кнопки Clear list of files.

Код Button3:

1
2
3
4
procedure TForm1.Button3Click(Sender: TObject);
begin
 ListBox1.Clear();
end;

Добавьте данный код в событие ListBox2Click (), срабатывающее при нажатии на элемент ListBox2, для открытия выбранного шаблона в дизайнере.

Код ListBox2Click:

1
2
3
4
5
procedure TForm1.ListBox2Click(Sender: TObject);
begin
 frxReport1.LoadFromFile(ListBox2.Items[ListBox2.ItemIndex]);
 frxReport1.DesignReport();
end

Запустите приложение 

screenshot 2 

Выберите файлы для конвертации 

screenshot 3 

В первом списке появятся выбранные файлы

screenshot 4 

Нажмите кнопку Convert, произойдет конвертация файлов из первого списка, и выведутся адреса сохранных шаблонов в формате *.fr3

screenshot 5 

 

Нажмите на любой адрес шаблона во втором списке и он откроется в дизайнере FR, проверьте правильность конвертации.

screenshot 6

 

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.