CReport功能更新

以下是2006-9-5写在另一个博客网上的内容:

这几天的主要工作是对CReport进行功能更新,CReport是一个非常优秀的报表组件,但也有一些问题:
1)编码风格不好,代码零乱。因为此组件已经多人多次更新,可以看出有不同的代码风格,也有相当大一部分风格不错,相信是原作者的手笔,而后来更新者没有很好的遵循规范。
2)用了某些不太合适的组件,比如用TPanel代替工具栏,这样使得扩充性较差。
3)组件命令不标准,很多使用了默认名称,没有意义,这样会造成代码阅读困难。

对于核心功能代码还没有阅读,只发现了较肤浅的表面问题,非硬性错误,但对于以后的维护及更新功能会带来某些潜在的困难。在合适的时候我会进行彻底整改。

这两三天内我主要增加了CReport的多语言支持,现在已经可以使用简体中文、繁体中文、英文三种语言,这一功能对我来说较为重要,近期有可能需要应用到繁体系统中。

在接下来我仍会继续加入一些实用的功能,包括:
1)完整格式导出到EXCEL
2)支持打印DBGridEh、StringGrid等

等等,务必使CReport成为一个实用的、具备相当功能的、简洁方便的报表系统。

另外,CReport的报表设计器具有很好的参考价值,
我一直想要开发一套网格形式的界面开发平台,能够实现用户定制,这个功能与CReport的网格很类似。
本来是不可能的任务现在变得很有希望,接下来需要的只是一些时间,一定可以完成  

一、安装 1.运行DELPHI,打开Creport4.12.dpk文件,点编译,再点INSTALL. 2.点工具中环境选项,再选路径设置: (1)将控件所在目录增加到路径中 (2)将C:\Program Files\Borland\Delphi6(7)\Source\ToolsAPI(也有可能在其它目录,视自已DELPHI安装目录而定,找到ToolsAPI目录) 路径加入. 二、使用 1、使用样板见DEMO程序。     2、数值字段的显示打印格式可在报表模板中设置,如模板中未设置,则以数据库中的设置为准。 3、`SumAll(j1-j2+j3).SumPAge(j1-j2+j3..)的用法: (1).如用第2列的和减第3列的和再加第5列的和则应这样填写模板中的单元格:`SumAll(2-3+5); (2).`SumAll(4)则代表第4列的和。 (3).模板中第1列的标号为1,依次类推。 (4).`SumPAge(j1-j2+j3..)的用法与SumAll(...)相同,不同之处是前者统计整个表,后者仅统计每一页. 4、在IDE中双击ReportRunTime控件可立即调用Creport模板编辑程序。 5、在IDE中设置了相关属性后可点鼠标右健调用预览功能. 6、EditEpt属性为真时,预览中可调用编辑模板程序. 7、预览中可通过拖动表格线永久调整单元格宽度. 8、ReportFile与SetData两个属性均可在调用预览或打印前由程序语句动态设置,不一定非要在ide中设置,但要ide中预览则必须在中ide设置。 9、可打印预览bmp.jpg.ico等类型图片,字段中的BMP图片可自动打印及预览. 10、关于ide中编辑模板与预览问题。   (1)、如果ReportRunTime控件的ReportFile属性已填列,则打开编辑过程的同时自动打开该文件(要保证此文件已存在)。   (2)、在ide中预览时,应设置好两个属性:一是ReportFile,二是SetData(格式见例子程序),否则不能正确预览。
1.按国人习惯的表格设计,未满一页自动以空表格补齐 (可选) 2.对预览窗口进行了重新设计,在预览时可重设边距及纸张(增加了用户调用页面设置等内容),更加美观和实用. 3.完全重写了PreparePrint过程,不再出现打印空页或有时不能完全打印数据等问题 4.新增部份函数和过程,可在预览时由最终用户通过拖动边框线立即永久性修改某一单元格宽. 5.修改了报表模板编辑器(再不需要EXE文件了,但任可编译CreportEdit工程得到CReportEdit.exe文件),与控件为一体,双击即可调用。pageNo有3种样式可选(第?页,第?/?页,第?-?页) 6.增加了数据表字段列表按健,可通过拖动字段自动填入模板单元格中. 7.增加了在模板中控制数值显示格式的功能,不用在字段属性中设置,由此也可不必再设置永久字段了。 8.更正了拆分单元格后,不能对齐的问题。 9.增加了在IDE中的预览和模板编辑器调用功能. 10.增加了两个函数,可实现每一页及整个表的每列汇总功能,各列的和还可做加减运算并将结果填入任意列中。 11.增加了图片功能(.bmp.jpg.ico类型均可),包括对数据库中的图像字段均可预览打印. 12.新增及完善了动态报表的支持功能,可对单个cell或成批cell进行设置或赋值. 13.将生成临时文件改为用内存流 14.增加了OnSetCellFont事件,可根据条件,动态设置报表中单元格字体和大小,如可将某记录中等于"张三"的字符用大字体显示打印. 15.实现非100%显示比例下编辑和拖动表格线修改单元格宽度等. 16.定义并显示打印上标和下标功能. 17.实现字符间距及行距自定义.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值