суббота, 24 сентября 2016 г.

Работа с Fast Repot в Delphi (часть 1)

  Доброго времени суток дорогие друзья. Давненько я не писал ничего в свой бложик), не смотря на то что инфы валом, писать есть о чем, но занятость и куча других причин пока берут верх. В этой статье я хочу поделиться своим скромным опытом о создании отчетов при помощи весьма мощного их генератора под названием Fast Report.
  Итак к делу. Положим перед нами стоит задача написать приложение в котором будет четыре компонента Edit, 1 компонент Image, 1 - ОpenPictureDialog   1 - DateTimePicker, три компонента Button Image и 1 - ОpenPictureDialog.  В Editы мы будем вбивать: номер документа, фамилию имя и отчество человека. С помощью компонентов ImageОpenPictureDialog  Button1 и Button2 будем подгружать или удалять его фото, DateTimePicker поможет нам определиться с годом его рождения ну, а по нажатии на Button3, сгенерируем отчет в котором будут присутствовать все вышеперечисленные данные с возможностью печати последнего и конвертации в различные форматы например: .jpg; .bmp; .tif; .rtf; и .pdf;.

  Примерчик довольно смешон и банален конечно, за то позволяет рассмотреть принцип работы изнутри и в последствии творить более серьезные вещи. Fast Report весьма мощная и гибкая штуковина, и то что мы рассмотрим в настоящей статье всего лишь мелкая пылинка от его возможностей.

1) Размещаем на форме все перечисленное выше. Я например для наглядности сделал все вот так:


2) Добавляем к вышеперечисленному с закладки FastReport5.0 компонеты frxUserDataSet1 и frxReport1 свойство DataSet которого (в инспекторе объектов) выставляем в frxUserDataSet1.
Далее с закладки FastReport5.0exports добавляем компоненты frxPDFexportfrxRTFexportfrxBMPexportfrxJPEGexportfrxTIFFexport, в свойстве FileName которых, везде пишем слово - Отчет, (ну или то как бы вы хотели чтобы назывался ваш файл отчета при экспорте). 


3) Теперь поработаем над загрузкой изображения в Image1, для этого:

A) Добавим JPEG в раздел USES. и создадим обработчик событий OnClick на кнопке Button1, в котором запишем:

procedure TForm1.Button1Click(Sender: TObject);
var
JPG: TJPEGImage;
begin
if OpenPictureDialog1.Execute then
begin
JPG := TJPEGImage.Create;
JPG.LoadFromFile (OpenPictureDialog1.FileName);
Image1.Picture.Bitmap.Assign (JPG);
JPG.Free;
end;
end;

а на OnClick кнопки Button2:

procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Picture:=nil;
end;

Б) Выделяем компонент ОpenPictureDialog1 переходим в инспектор, дважды кликаем на его свойстве Filter и во избежание недоразумений, в появившейся менюшке фильтров (из всего что в ней есть) оставляете только следующее:


В свойстве Title этого же компонента запишите например - Выбираем Фото.

В) Свойства Center, Proportional и Stretch компонента Image1 устанавливаем в true.


4) Чтобы при запуске программы наш DateTimePicker1 сразу отображал текущую дату, создадим OnCreate обработчик на форме где запишем:

procedure TForm1.FormCreate(Sender: TObject);
begin
DateTimePicker1.Date:=Now;
end;


   Ну вот, собственно на сегодня и всё. Наше приложение должным образом настроено и готово к следующему шагу - генерации и настройке нашего репорта. И этот шаг (чтобы не перегружать тему) мы рассмотрим в следующей (второй части), которая надеюсь не заставит себя долго ждать)... 






Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.