文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程数据库Delphi程序执行时实时生成报表
精品推荐
特别推荐
·SQL数据库完全使用手册
·进阶:精妙SQL语句介绍
·sql删除记录
·学习SQL语句之SQL语句大全
·数据备份失败的五个原因及解决办法
·解决SQL Server常见的七个经典问题
·SQL存储过程的概念,创建,调用,管理,删除,优点
·带你轻松接触13个数据库术语
·如何恢复系统数据库如何恢复系统数据库?
·通过实例讲解由浅入深学会存储过程
·学会三个范式快速成为数据库设计的高手
·SQL数据库应聘人员面试时经常被问的问题
·问答:查询分析器不能单步调试的的原因
·数据库基础知识:SQL中的IIF语句详解
·WindowsXP+IIS+PHP5+MySQL5+Zend+GD库+phpMyAdmin+PHPWind 5.3 安装教程
·你知道吗?优化数据库前的十大问题
·自动备份注意事项让你远离误删数据噩梦
·关于MSSQL数据库日志满的快速解决办法
·SQL安全设置攻略
·SQL注入的不常见方法
热点TOP10
·数据结构(C#)_排序算法(冒泡排序)
·通过分析SQL语句的执行计划优化SQL(二)
·在DataTable中查询应该注意的问题
·数据备份失败的五个原因及解决办法
·使用FileWriter可以写UTF-8的解决方法
·SQL存储过程的概念,创建,调用,管理,删除,优点
·教你如何读取Excel数据并导入DB2数据库
·教你简单七招 轻松实现Web数据库的安全
·帮你精细分析各种类型数据库的死锁问题
·通过分析SQL语句的执行计划优化SQL(一)
·学习SQL语句之SQL语句大全
·utl_file使用总结
·SQL数据库完全使用手册
·SQL中查询数据表字段名称的查询语句
·Delphi程序执行时实时生成报表
·玩转Windows桌面图标
·使用设计模式构建通用数据库访问类
·如何用sql语句修改数据表中字段,实现identity(100,1)的递增
·用独立的DLL来存储图片(资源文件)
·编程实例 WebGroupBox(Aspx控件)

Delphi程序执行时实时生成报表

日期:2006年4月6日 作者: 查看:[大字体 中字体 小字体]


当前,在软件开发工具中,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;
上述类型为动态数组类型,数据的每个元素为一个类。在实时建立报表控件时,要建立的控件个数是不确定的且控制名称也不能确定,用动态数组是一个比较好的解决办法,即可以任意指定数据的维数,又不用自己管理内存分配问题,还有利于报表包含控件的释放与处理。程序还声明了上述类型的变量如下:
      CHBName:TQRLabelName;
      DBName:TQRDBTextName;
      CHBShape,DBShape,FBShape,SumShape:TQRShapeName;
      FBName,SumName:TQRExpName;
这些数组变量将在窗体建立时根据Query返回的字段结果分配内存,每一个字段对就数组的一个元素。
程序执行过程:窗体在建立并显示时,就对本窗体建立初始化操作。在OnCreate事件中将QuickRep.Page属性的相应值显示出来,在OnShow事件中执行Query.Open操作,并根据返回结果分配控件数组变量空间。窗体建立后,单击“生成”按钮生成报表(忽略备注字段和相片字段),然后可单击“打印”和“预览”进行打印或者预览报表。当产生报表后又更改了设置,必须重新生成报表。如果Query返回的结果集字段太多,生成报表时有可能纸张矿小不能将生成全部报表,可调整报表纸张大小,再生成报表。当关闭窗体时,将释放建立的控件。

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页 




上一篇:玩转Windows桌面图标

下一篇:Delphi中串行通信的实现

Delphi程序执行时实时生成报表 相关文章:
·C#程序开发中的常用函数汇总
·人生成功生涯规划100
·PB动态报表格式自由定义的实现
·添加或删除启动时自动运行的程序
·PB8.0应用程序编译发布技术研究
·PB程序中在普通激光打印机上实现条码打印
·修改注册表,清除黑客程序
·不用任何软件(木马程序)盗取账号密码
·authorware7.0程序调试与打包发布(4)
·Delphi中利用钩子实现QQ聊天窗口的修改
Delphi程序执行时实时生成报表 相关软件:
·C语言程序设计
·AUTOCAD2004序列号生成器
·Windows环境下32位汇编语言程序设计
·C语言程序设计视频教程 CSF 教材:谭浩强《c程序设计》
·零起点教你如何破解软件和制作注册机 and 视频+程序
·Delphi7编程技巧与实例精解
·AMD Processor Driver(AMD驱动程序)V1.3.2.6 WHQL
·FLASH个人简历源程序(FLA)
·WIN98启动盘启动USB设备程序V1.0
·d3dx9_27.dll游戏执行补丁

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot