FASTREPORT中值的传递问题 ( 积分: 50 )

  • 主题发起人 主题发起人 bestwen
  • 开始时间 开始时间
B

bestwen

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个FORM面板中的LABEL控件上的内容传到FASTREPORT中的报表中显示,应该怎么做?
我在预览报表的按钮中加入以下事件
procedure TForm1.Button1Click(Sender: TObject);
begin
fr1.FindObject('Memo9').Memo.text:=Button1.Caption;
fr1.ShowReport;
end;
系统却提示
[Error] Unit1.pas(40): Undeclared identifier: 'Memo'
 
我想把一个FORM面板中的LABEL控件上的内容传到FASTREPORT中的报表中显示,应该怎么做?
我在预览报表的按钮中加入以下事件
procedure TForm1.Button1Click(Sender: TObject);
begin
fr1.FindObject('Memo9').Memo.text:=Button1.Caption;
fr1.ShowReport;
end;
系统却提示
[Error] Unit1.pas(40): Undeclared identifier: 'Memo'
 
需在frxReport中的onGetValue事件加如下代码:
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
var
sName :String;
begin
sName := Button1.Caption ;
if CompareText(VarName,'sName') = 0 then
Value := sName ;
end;

然后在报表里面,直接用 [sName] 就可以了
 
先在报表里面的memo中输入内容为[sName] 。
下面在frxReport1的onGetValue中输入:
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName,'sName') = 0 then
Value := 'kjhk' ;
end;
 
bestwen你的语句好像没有什么问题啊
 
如果是3.0的,bestwen的语句就有问题。我曾经遇到过!
使用我的方法,肯定没有问题的。
 
我的版本是3。0的,哎
 
interface 部分要加上
uses FR_Class, FR_DSet, FR_DBSet;
然后
procedure TForm1.Button1Click(Sender: TObject);
begin
fr1.LoadFromFile(sFileName);
if fr1.FindObject('Memo9') <> nil then
begin
fr1.FindObject('Memo9').Memo.Clear;
fr1.FindObject('Memo9').Memo.Add(Label1.Caption);
end;
if fr1.PrepareReport then
fr1.ShowReport;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
939
SUNSTONE的Delphi笔记
S
后退
顶部