1、引言
报表在信息管理系统中有着广泛的应用,例如财务管理系统中的财务报表,人事管理系统中的人员查询报表、统计报表,仓储管理系统中的进货报表、库存报表等等,报表不仅可以以直观的方式向业务人员呈现相关信息,并且能够为决策者分析、决策提供有力的依据。信息系统中的报表相比传统的手工报表,更规范、更清晰、更准确、更有效率,几乎所有的信息管理系统都离不开报表的使用。Delphi作为一种主流的快速开发工具,受到了广大开发人员的喜爱。Delphi与后台数据库配合使用已经成为许多信息管理系统采用的模式,如何在delphi中,选择并使用一个简单、有效、快速的报表控件就十分必要了。Delphi3-Dlephi6中一直采用的是QuSoft公司的QuickReport控件,但是QuickReport是不是能够满足所有的需求呢?在2002年Delphi Informant 杂志评出的读者选择奖项中,其中参加报表工具的评选的人数是最多的(足见报表的重要性),在这一类别中,Digital Metaphors公司的 ReportBuilder以54%的选票获得了第一名。 crushing FR-Software & A.Tzyganenko公司的FastReport以20%的选票获得了第二名。ReportBuilder更是以11%的选票当选本年度最佳产品(Product of the Year),足见它对Delphi开发人员中的影响力。本文将对QuickReport和FastReport报表控件进行某些方面的比较,希望能对读者有所帮助。
2、FastReport的安装
由于FastReport是Delphi的第三方控件,所以只有在安装之后才能使用报表控件。FastReport2.4可以安装在for Delphi 2-7 & C++Builder 1-6环境下,下面简要说明在Delphi6环境下的安装,其他环境下的安装过程类似。.
把FastReport的安装包解压后放到Delphi的安装目录下,运行Delphi,选择菜单"File/Open..." ,从 ..\FR\SOURCE目录中打开包文件FR6.dpk。在包编辑器中,点击"Compile" 按钮对包进行编译,编译成功后,点击"Install"按钮安装包。安装完成后, "FastReport" 和FR Tools" 标签就会出现在Delphi开发环境中的控件面版中,选择相应标签,就会出现FastReport的报表控件。安装好之后,还需进行环境设置,选择菜单命令ls/Environment options..." 打开Library" 标签,在"Library path" 中加路径..\FR\SOURCE。
3、QuickReport和FastReport的比较
从Delphi中加入报表控件之后到最新的Delphi7之前,QuickReport一直是Delphi附带的报表控件,抛却商业的利益不谈,QuickReport能够长期占领Delphi的报表控件也在一定程度上表明QuickReport在报表处理方面有其独特的方面。但是使用过QuickReport的朋友肯定会有这样的感觉,QuickReport报表在某些方面的功能确实是比较欠缺,比如对于线框的控制、报表单元格内的中文的换行、终端用户对于表格的控制等等。可以说FastReport在这几个方面比QuickReport体现了更强大的功能。下面将详细叙述FastReport在这三个方面的优势。
3.1 FastReport对线框的控制
在实际的应用中,中国式的报表绝大多数都是表格的形式,线框的绘制非常重要,而在QuickReport中,进行线框的绘制似乎不是很方便,不同的线型(水平线、垂直线)采用的是同一个QRShape控件,对每一个字段四周的线框都要进行不同的设置,比较麻烦,并且在预览的时候在不同的显示比例的情况下个别线段可能会出现重合或者断开的情况,虽然在真正打印的时候只要设置的正确确实不会出现重合或断开的情况,但是在预览的时候看上去很不舒服。而FastReport对于线框的处理比QuickReport要好的多,使用Line控件可以很方便的完成水平线、垂直线的绘制,而且不会出现线框重合或者断开的情况。静态报表的情况下,FastReport还包含自动水平线、垂直线的对齐功能,水平线和垂直线的接头处会自动完成对齐,不会出现接头错开的情况。对于动态报表的情况,只要准确设置线框的位置,生成的报表会非常整齐、规范。对于动态FastReport报表,在进行绘制线框的时候必须要注意的一点是:线框必须放置在相对应的区域内,否则设置的线框就不会显示出来了,这一点是跟QuickReport是类似的。