求助有关FastReport的问题: 如何给frReport1 中的Memo1赋植?,在执行frReport1.ShowReport语句之前. 谁回答了再送10

  • 主题发起人 梦之旅
  • 开始时间

梦之旅

Unregistered / Unconfirmed
GUEST, unregistred user!
求助有关FastReport的问题: 如何给frReport1 中的Memo1赋植?,在执行frReport1.ShowReport语句之前. 谁回答了再送100分!!!!!!!!!!决无失言 (50分)<br />
 
var
T: TFrView;
begin
T := frReport1.FindObject('Memo1'); //
if T<>nil then T.Memo.Text := '我的标题';

frReport1.ShowReport;
end;
 
koyochen方法可以。
首先定义 MyMemo : TfrMemoView 糊弄变量,然后将变量与FastReport的MEMO变量对应,此时写入变量值即可动态完成赋值,
不过这种方法怎么实现?
 
把memo换成Rich1就不行了。
没有通用性
 
uses FR_Rich

// RichEdit 是一个特殊的例子
// 如你直接用 Dest.Lines.Text := Src.Lines.Text 就不能复制 RichEdit 的样式

procedure TForm1.Button1Click(Sender: TObject);
// 两个 RichEdit 之间复制的例子
// 可简化为 CopyRichString(Source: string; Dest: TStrings);
procedure CopyRichString(Source, Dest: TStrings);
var
Stream: TStringStream;
begin
Stream := TStringStream.Create('');

Source.SaveToStream(Stream);

Stream.Position := 0;
Dest.LoadFromStream(Stream);
Stream.Free;
end;

var
T: TFrView;
begin
T := frReport1.FindObject('Rich1'); //

if T<>nil then
begin
if T is TfrRichView then
CopyRichString(Memo1.Lines, TfrRichView(T).RichEdit.Lines)
// 也可简化为 TfrRichView(T).RichEdit.Lines.Text := Memo1.Lines.Text
else
T.Memo.Text := '我的标题';
end;

frReport1.ShowReport;
end;
 
frReport1.FindObject('Memo1').Memo.Text:=Edit1.Text;
 
接受答案了.
 
顶部