При работе с FastReport в Delphi иногда возникает необходимость отобразить изображение в отчете. В этом материале мы рассмотрим, как решить эту задачу.
Описание проблемы
Разработчик хочет отобразить изображение в отчете FastReport. У него есть следующий код на Delphi:
Здесь YourReportObject — это ваш объект отчета в FastReport, а 'Picture1' — имя поля, которое вы создали на шаге 1. Метод LoadFromFile такой же, как и в вашем примере, просто передайте соответствующее имя файла в качестве аргумента.
Этот шаг необходимо выполнить до запуска отчета. Если вы хотите загружать изображения во время генерации отчета, попробуйте сделать что-то подобное в скрипте отчета. Например, определите обработчик OnBeforePrint для объекта Picture1, как показано ниже:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
TfrxPictureView(Sender).Picture.LoadFromFile(…); // используйте ссылку на столбец "code_personel" в имени файла выражения
// в соответствии с контекстом скрипта отчета, например, <Qry_Search."code_personel">
end;
Пример
Допустим, у вас есть отчет с полем Picture1, и вы хотите отобразить изображение, имя которого соответствует значению столбца code_personel в данных отчета. В этом случае ваш код может выглядеть следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TfrxReport1.Dataset do
begin
First;
while not Eof do
begin
TfrxPictureView(TfrxReport1.FindObject('Picture1')).Picture.LoadFromFile(
ExtractFilePath(Application.ExeName) + 'Pictures/' + FieldByName('code_personel').AsString + '.jpg');
Next;
end;
end;
TfrxReport1.ShowReport;
end;
В этом примере мы перебираем записи в данных отчета и загружаем соответствующее изображение в поле Picture1 перед отображением отчета.
Материал описывает процесс отображения изображения в отчете FastReport с использованием Delphi, рассматривая ситуацию, когда разработчик хочет отобразить изображение в отчете, но не знает, как применить код загрузки изображения к объекту отчета в FastRepo
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS