加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何替换备忘录中的字符串(FastReport)?

发布时间:2020-12-15 09:31:23 所属栏目:大数据 来源:网络整理
导读:我的报告中有一个备忘录对象,需要替换“%…%”字符串.例如,在Rave报告中: MemoBuf.ReplaceAll('%my_str%',"new string",false); 但是,在FastReport中不存在替换文本的方法(或属性).我怎么能这样做? 我正在使用Fast Report 4.9.72和Delphi 2010. 谢谢!
我的报告中有一个备忘录对象,需要替换“%…%”字符串.例如,在Rave报告中:

MemoBuf.ReplaceAll('%my_str%',"new string",false);

但是,在FastReport中不存在替换文本的方法(或属性).我怎么能这样做?

我正在使用Fast Report 4.9.72和Delphi 2010.

谢谢!

解决方法

由于FastReport中没有 StringReplace可用,我会从Delphi代码中完成.有可能以某种方式导入函数,但这似乎更好地安排.请注意,在第一个例子中,我认为Memo1存在(否则你将获得访问冲突).

procedure TForm1.Button1Click(Sender: TObject);
var
  Memo: TfrxMemoView;
begin
  Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
  Memo.Text := StringReplace(Memo.Text,'%my_str%','new string',[rfReplaceAll]);
  frxReport1.ShowReport;
end;

如果您不确定组件名称或类型,则应使用以下内容:

procedure TForm1.Button2Click(Sender: TObject);
var
  Memo: TfrxMemoView;
  Component: TfrxComponent;
begin
  Component := frxReport1.FindObject('Memo1');
  if Component is TfrxMemoView then
  begin
    Memo := Component as TfrxMemoView;
    Memo.Text := StringReplace(Memo.Text,[rfReplaceAll]);
    frxReport1.ShowReport;
  end;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读