怎样动态加载变换fastreport报表一个封面的图片???在线急等,高手救命!!! ( 积分: 50 )

  • 主题发起人 主题发起人 lcmlhs
  • 开始时间 开始时间
L

lcmlhs

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:
小弟用fastreport3.20版本做一个报表,该报表只有三页,第一页是封面,通过其背景图片可设置封面的背景图,可是如果用户想用别的图片作封面,我就要重新打开报表再指定新的图片,怎样在程序里让用户自定义更换封面图片,而不用再让我在程序报表里更换??????
 
var
AGD: TfrPictureView;
begin

frReport1.LoadFromFile(ExtractFilePath(application.ExeName)+'report_cur_XX.frf');
AGD := TfrPictureView(frReport1.FindObject('PictureAGD'));
//加载A.GD图片
adotemp11:=tadoquery.Create(nil);
adotemp11.Connection:=dm.ADOConnection1;
adotemp11.Close;
adotemp11.sql.clear;
adotemp11.SQL.Text:='select A.Photo from chk_valu A,clinicchkitem B where A.itemid=B.itemid AND B.dlttype=''A.GD'' and A.pkunid='+ADObasic.fieldbyname('唯一编号').AsString;
adotemp11.Open;
MS:=TMemoryStream.Create;
TBlobField(adotemp11.fieldbyname('photo')).SaveToStream(MS);
MS.Position:=0;
tempjpeg:=TJPEGImage.Create;
tempjpeg.LoadFromStream(MS);
MS.Free;
if not adotemp11.fieldbyname('photo').IsNull then
AGD.Picture.assign(tempjpeg) else
AGD.Visible:=false;
tempjpeg.Free;
adotemp11.Free;
end;

注:1、PictureAGD是报表中图片组件的名称
2、图片是从数据库中获取的
 
数据库表里存图片吗??那我设置什么字段呀???从数据库里取图片的话就要先把用户的图片先存到里面的,能不能从一个文件夹里取?????
 
注意:封面加载图片时不要用控件,加载到报表页面的背景属性里。
 
从文件夹里取一样的啊,在程序里加一个image控件,先从文件夹里导入图片,然后把image赋给报表的page的BackPicture属性啊
 
你写一下呀,frxreport1,page1为封面,image为delphi控件,你给个代码吧:
 
后退
顶部