Delphi程序执行时实时生成报表
日期:2007年8月7日 作者: 查看:[大字体 中字体 小字体]-
当前,在软件开发工具中,Delphi以其控件多、面向对象编程功能强、代码执行速度快和简单易用等特点,结合可视化开发环境和当前最快的编译器技术,已成为全球公认的快速应用开发工具,正被愈来愈多的编程人员所采用。使用Delphi可以编写各种Windows应用程序,尤其是开发数据库信息管理系统有其独特的优势。在数据库信息管理系统的开发的过程中,我们经常需要打印输出很多报表,用Delphi设计复杂报表是一件比较烦锁的事件,它没有Visual FoXPro中那样简便。但由于Delphi中设计报表采用的也是控件,因此,我们可以在程序执行时直接建立所需的报表控件来实时生成报表,而且,生成的报表样工可以由程序控制来决定。例如,我们在数据库信息查询时,查询出来的结果信息结构一般是不固定的,假如我们要将查询结果打印出来,只设计一种报表格式是不行的,为所有可能的结果信息都设计一种报表格式也不是一种很好的解决办法。为了解决这样一个问题,我们可以采用实时生成报表技术。本文的目的就是通过一个实例向大家详细介绍怎样实时生成报表。
本例所将设计一个打印对话框,该对话框包括TQickRep控件和一些报表样式控制控件,其它窗体外观如下图所示:
1、 控件功能说明
QuickRep:TQuickRep 它包括列标头(HB:TQRBand)、细节(DB:TQRBand)、页脚(FB:TQRBand)、总结(SB:TQRBand)带区,并且细节、页脚、总结中没有包括一个TQRLabel、TQRExpr或TDBText控件,主要是在程序执行时建立,列标头带区中包括Title(TQRLabel)用于报表标题;QRSQL: TQRLabel用于查询条件,这两个控件的Caption属性在程序执行时可任意更改。为了能够让QuickRep不显示出来,将其置于Panel1(Tpanel)的后面,并将Panel1扩展到整个窗体;
Query:TQuery SQL语句控件,程序将根据Query返回的结果来生成报表。因此,在建立这个窗体时,一定要将Query.SQL属性指定一条SQL语句;
在以上窗体中“纸张”和“页面设置”两栏所包括的控件是对QuickRep.Page属性的控制,程序执行时更改它们会直接改变QuickRep控件相应的属性值,这可以通过OnChange或OnExit事件代码完成;
“打印内容设置”栏中的标题是指定报表的标题(TT:TEdit),其值与QuickRep.ReportTitle和Title.Caption一致,可以任意更改;“打印查询条件”复选框指定是否打印查询条件,该复选框的选取否直接控制QRSQL.Caption是否为空;“表列对齐方式”由一组选项按钮组成,它主要用于报表生成时细节内容的对齐方式,它的更改控制变量RD1(Byte)的值(0自动对齐,1中间对齐,2左边对齐);“表列打印宽度”由一组选项按钮组成,主要用于在生成报表格式时列值的宽度,它的更改控制变量RD2(Byte)的值(0自动宽度,1相同宽度,2限制最大宽度),当选中1相同宽度,2限制最大宽度时要求输入宽度,单位为像素;“统计方式”指出报表是否包含页脚(FB:TQRBAND)和总和(SB:TQRBAND)带区。
2、 程序说明
程序定义了如下类型:
TQRLabelName=array of TQRLabel;
TQRDBTextName=array of TQRDBText;
TQRShapeName=array of TQRShape;
TQRExpName=array of TQRExpr; - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 下一页
-
- Delphi程序执行时实时生成报表 相关文章:
- ·[图文]五笔字根表图
- ·最新QQ圣诞表情
- ·2007年结婚吉日黄道吉日通用表
- ·《拳皇2002》隐藏超杀出招表 - 技巧心得
- ·幻世录2魔神战争 完全物品列表 - 游戏攻略
- ·叶子猪大话攻略:0级召唤兽初值上限表
- ·注册表修改大全之XP
- ·用Excel两步制作“乘法口诀表”
- ·Vi命令一览表
- ·《罪恶装备X》出招表 - 游戏手册
- Delphi程序执行时实时生成报表 相关软件
- ·多特QQ表情包
- ·腾讯QQ表情ZQ超级版 V5.0
- ·洋葱头 官方QQ表情+豪华增量QQ表情
- ·QQ搞笑表情全集 V2.0
- ·QQ搞笑表情gif动态图片集 V1.0 最新版
- ·悠嘻猴 QQ表情
- ·多特QQ表情包 07年08月28日整理
- ·易我分区表医生 V3.0
- ·QQ2007全新系统默认QQ表情
- ·注册表修改工具 V4.0
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:王通:对中搜“网络猪”的分析
下一篇:Delphi的压缩流与解压流
精品推荐
热点TOP10
- ·精妙SQL语句收集
- ·SQLPLUS命令的使用大全
- ·收集的host文件网站黑名单
- ·数据库连接字符串大全
- ·SQL Server 练习题
- ·SQL中CASE的用法
- ·认识VF--Visual FoxPro 漫谈
- ·什么是SQL注入法攻击
- ·一道褒贬不一的SQL考试题
- ·学习SQL语句之SQL语句大全
- ·SQL数据库高级教程:SQL UNION 和 UNION ALL
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQLSERVER中,数据库同步的实现
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·MySQL管理工具SQLyog最新6.1下载
- ·“SQL Server不存在或访问被拒绝”问题的解决
- ·MySQL数据库学习手册之MySQL客户工具和API
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·如何删除数据库中的冗余数据(翻译)
- ·数据库物理设计经验谈
特别推荐
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
