gpt4 book ai didi

delphi - 非数据库快速报告

转载 作者:行者123 更新时间:2023-12-03 14:50:25 24 4
gpt4 key购买 nike

我使用报表生成器已有几年了,但我已经厌倦了“cha-ching”、“cha-ching”。它是一个很棒的“非数据库”报告工具。

我已经开始尝试快速报告,但我对此感到非常慌乱。它似乎是一个很棒的数据库报告工具,但对于复杂的“非数据库”报告却存在很大的问号。他们的演示和帮助非常糟糕。

希望我能展示我正在谈论的报告。该报告是一个串行通信报告,其中包含操作系统信息,当然这些信息本质上是单一的。它有 4 个不同的表,其中安装了串行端口和 USB 串行设备表。它还具有摘要备忘录。

有人在 Fast Reports 中成功设计了上述配置的报告吗?是的,我已经通过快速报告发布了相同的查询。只是想听听其他意见。

提前致谢。

最佳答案

我扩展了@jrodenhi的答案提供的选项,这似乎是做你想做的事情的正确方法(因此我将此答案作为社区维基)。因此,您可以使用以下两个选项(我认为还会有更多选项):

1。定义自定义变量

@jrodenhi 的回答展示了如何在代码中添加报告变量。我将尝试在这里展示如何在报表设计器中定义它们。

  1. 打开报表设计器
  2. 转到菜单报告/变量...
  3. 在“编辑变量”窗口中,通过单击“类别”按钮创建一个新类别。然后您可以以与您相同的方式重命名该类别,例如对于 Windows 资源管理器中的文件: enter image description here

  4. 然后您可以通过单击变量按钮来声明自定义变量。您可以像您一样为变量指定一些有意义的名称,例如对于 Windows 资源管理器中的文件: enter image description here

  5. 点击确定按钮保存更改后: enter image description here

  6. 然后您将返回到报表设计器,您可以在数据树 Pane 选项卡变量中找到刚刚声明的变量。将变量拖放到报告中: enter image description here

  7. 优化所有组件位置和属性后,您可以关闭报表设计器并返回 Delphi IDE。您可以在此处为报表的 OnGetValue 事件编写处理程序,如果其 VarName 参数等于您的变量,则将其 Value 参数更改为您想要赋予关联报告组件的值:

procedure TForm1.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if VarName = 'MyVariable' then
Value := 'This is a new value!';
end;

2。直接从Delphi代码修改报表组件

可以选择从 Delphi 代码直接访问报表组件。例如,要按名称查找某个报表组件,您可以使用 TfrxReport 对象的 FindObject 方法。然后,您可以按照通常的模式检查返回的引用是否属于您要访问的控件的类型,如果是,则可以像通常一样通过类型转换来访问实例。

例如,要在 frxReport1 报告上查找名为 Memo1TfrxMemoView 对象并修改其文本,您可以编写:

var
Component: TfrxComponent;
begin
Component := frxReport1.FindObject('Memo1');

if Component is TfrxMemoView then
TfrxMemoView(Component).Memo.Text := 'New text';
end;

关于delphi - 非数据库快速报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com