G
guyaojun
Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用fastreport 打印图片过程中,出了点问题。
首先我从数据库中读出考生的考生号。图片是以考生号命名的,然后加上文件路径。存到TStringlist里,通过frxReport1GetValue把参数传到报表里的一个Memo,在这个Memo的afterprint时间里 读出Memo的值,在picture.loadfromfile()中加载这个图片,最终Memo的显示的路径名和考生的信息一致,但是picture中的图片信息不一致,在第一页中没有图片加载,第二页加载的图片是第一页考生的图片,以后依次类推。就图片加载发生了错位。
附源码:
procedure TForm1.Button1Click(Sender: TObject);
begin
//提取文件名
filename:= TStringList.Create;
with ADOTable1do
begin
First;
while not Eofdo
begin
filename.Add(photopath+'T'+fieldbyName('ksh').AsString+'.jpg');
Next;
end;
First;
end;
//预览
frxReport1.ShowReport;
ADOTable1.open;
end;
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'pictures') = 0 then
Value := filename[ADOTable1.RecNo-1];
end;
我的QQ:250294606 方便的话可以把源码发过去
首先我从数据库中读出考生的考生号。图片是以考生号命名的,然后加上文件路径。存到TStringlist里,通过frxReport1GetValue把参数传到报表里的一个Memo,在这个Memo的afterprint时间里 读出Memo的值,在picture.loadfromfile()中加载这个图片,最终Memo的显示的路径名和考生的信息一致,但是picture中的图片信息不一致,在第一页中没有图片加载,第二页加载的图片是第一页考生的图片,以后依次类推。就图片加载发生了错位。
附源码:
procedure TForm1.Button1Click(Sender: TObject);
begin
//提取文件名
filename:= TStringList.Create;
with ADOTable1do
begin
First;
while not Eofdo
begin
filename.Add(photopath+'T'+fieldbyName('ksh').AsString+'.jpg');
Next;
end;
First;
end;
//预览
frxReport1.ShowReport;
ADOTable1.open;
end;
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'pictures') = 0 then
Value := filename[ADOTable1.RecNo-1];
end;
我的QQ:250294606 方便的话可以把源码发过去