Delphi报表组件,带有面向最终用户的可视控件

Delphi报表组件,带有面向最终用户的可视控件,delphi,delphi-2010,Delphi,Delphi 2010,我正在寻找打印发票和声明的最佳解决方案,用户可以在打印表单上书写和选择(如日期)。我已经测试了Delphi的所有打印组件,但没有一个允许最终用户(例如)在打印时选中复选框,而无需编辑任何内容—只需简单单击即可。也许我错过了什么,你有什么建议?对于Delphi解决方案,我使用Fast Report的脚本支持在报告中执行一些奇特的操作(当用户在报告预览中单击某个内容时弹出窗口)。我还使用它来创建深入报告,因此在报告呈现到预览后,可以对更改报告提供一些支持。但我很确定它不支持真正的Windows控件,

我正在寻找打印发票和声明的最佳解决方案,用户可以在打印表单上书写和选择(如日期)。我已经测试了Delphi的所有打印组件,但没有一个允许最终用户(例如)在打印时选中复选框,而无需编辑任何内容—只需简单单击即可。也许我错过了什么,你有什么建议?

对于Delphi解决方案,我使用Fast Report的脚本支持在报告中执行一些奇特的操作(当用户在报告预览中单击某个内容时弹出窗口)。我还使用它来创建深入报告,因此在报告呈现到预览后,可以对更改报告提供一些支持。但我很确定它不支持真正的Windows控件,因为它毕竟是一个生成报表的解决方案。我没有认真调查这件事,所以我可能是错的

对于非Delphi解决方案,您可能希望了解一些AdobeAcrobat(PDF)解决方案,它们允许您做一些令人惊奇的事情


我的观点是:除非交互非常简单(一个复选框和一些输入字段),否则我不会在报表生成器中进行交互。虽然这样做看起来更直观,但它有太多的局限性。没有什么比真正的文本编辑器更适合编辑文本,但是真正的文本编辑器在报告上看起来不合适。

使用快速报告,您有几个选项可以这样做

首先,Fast Report允许您使用表单设计器在报表中创建交互式表单,并使用其脚本引擎对其进行编码

它还允许您将事件处理程序分配给为每个控件定义的一些事件;例如,它具有frxCheckBox控件的OnPreviewClick事件,只要最终用户单击预览窗格中的复选框,就会触发该事件

另一个选项是允许最终用户自己修改报告;Fast Report为最终用户提供了两种类型的报告编辑,一种是让最终用户修改生成的报告。使用此功能,最终用户将在Fast report editor中看到生成的报告和所有页面,并可以更改某些值或重新排列控件。
另一种方法是让最终用户从头开始设计报表,为此您必须在Fast报表中使用designer组件;这将为最终用户提供用于在IDE中设计报表的标准编辑器,最终用户可以按照您的要求设计报表。

我见过使用(如您所说)PDF解决方案的应用程序,我必须说这正是我要寻找的。非常感谢您在最后一段中提出的建议。但超过99%的用户不会使用设计师。他们需要简单的解决方案-选中一个有趣的复选框,然后单击“打印”。使用脚本引擎进行快速报告是可能的?@JustMe,您刚刚得到了快速报告的第二条建议。你试过了吗?如果您认为最终用户不会使用报表设计器,请不要给他们这个选项。我发现,即使我可以打包报表设计器,最终用户也很少使用它。但有时,他们需要足够的钱来使用它,甚至有时他们需要足够的钱来支付我为他们使用它。您是应用程序的潜在用户,对吗?升级代码以添加报表可能会引入回归,但自己使用报表编辑器不太可能这样做,对吗?