有没有一种方法可以将Rave Report上的text1等文本设置为在Delphi应用程序中打印的Delphi表单上的Edit.text。
我想在delphi应用程序中创建一个应用程序窗体,其中每个块代表一个单词的某个字母...例如-Edit1.text:=姓
在我的Rave Report上,text1应该显示Edit1.text [1](S),text2应该显示Edit1.text [2](u)...,依此类推。我知道如何在Rave Report中使用datatext函数...但这意味着我必须先将每个字段的每个字母分别保存在数据库列中... :(
如果可以的话,请帮助我...因为这种事情我很傻。

最佳答案

由于这对我来说很奇怪,因此我强烈建议直接从应用程序而不是报表中设置TEdit.Text,并且由于不清楚您要问的是什么,我将尝试向您展示如何获取或设置Rave报告中来自Text component或来自Report1的文本。

假设您有Page1Text1,其中名为C:\YourRaveProject.rav的文本组件放置在某处。所有这些都由Rave Reports设计器保存在Edit1文件中。然后假设您在Delphi项目中有一个按钮,其OnClick事件处理程序中带有以下代码,并带有两个编辑框Text1,在这里我们从Edit2组件加载文本,从Text1设置组件文本。

uses
  RpRave, RpDefine, RpBase, RpSystem, RvCsStd;

procedure TForm1.Button1Click(Sender: TObject);
var
  RaveProject: TRvProject;
begin
  RaveProject := TRvProject.Create(nil);
  RaveProject.ProjectFile := 'C:\YourRaveProject.rav';

  try
    RaveProject.Open;
    RaveProject.SelectReport('Report1', False);
    // get the text from the Text1 component from the report
    Edit1.Text := (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text;
    // set the text of the Text1 component on the report
    (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text := Edit2.Text;
    // and execute the report for showing the result of setting the text
    // note, this can be omitted of course if you want only to get the value
    RaveProject.ExecuteReport('Report1');
    RaveProject.Close;

  finally
    RaveProject.Free;
  end;
end;


请以这个为例,而不是您问题的真实答案,因为恕我直言,目前尚无法回答。如果您指定了确切的问题,那么我们也许可以为您解决实际问题。

使用Rave Reports 7.6.2在Delphi 2009上进行了测试。

关于delphi - 打印时在Rave Report中将“TEXT”设置为Delphi表单上的Edit1.text,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7716109/

10-11 03:45