Delphi 7.0 中实现报表的方法称为 Rave。Rave 报表是一种基于组件的可视化
报表设计工具,使用它可以简化设计过程,提高设计效率。只要将 Rave 报表组件添
加到应用程序中后,就可以创建各种类型的报表。本文将以 ADO 组件连接数据库,
向读者介绍怎样利用 Rave Report5.0 快速设计报表。

还是赶快行动起来,体验一下 Rave Reports 的强大功能吧!

1.准备好范例数据库,笔者使用 Access 建立数据库Student.mdb,创建一个表:
StuInf(学生基本信息),包含Sno(学号),Sname(姓名),Sex(性别),Class(班级),
Birthday(出生日期)... 等字段,所有字段名先使用括号中的中文;再写入几条数据
备用。
2.启动 Delphi7.0 建立一个工程,在窗体上放置一个 ADOQuery 控件,设置其
ConnectionString 属性,连接数据库 Student,设置 SQL 属性为“select * from
StuInf;”,Active 属性为 True 。为了能看到库中的数据,再往窗体上放置一个
DBGrid 和一个 DataSource ,设置相关属性,使 DBGrid 中显示数据。
3.在窗体上添加一个 GroupBox,设置其 Caption 为“选择报表式样”;往其中
添加两个 RadioButton ,Caption 分别为“条列形式”、“表格形式”;往窗体上
添加一个按钮,Caption 为“显示报表”。

现在,准备工作已经完成了,保存工程,下面开始报表的设计。

4.在窗体上添加一个RvDataSetConnection组件,设置其DataSet为ADOQuery1,
这样,就提供了 Rave 报表与数据源之间的连接。
5.在 Delphi 主菜单的 Tools 中选择 RaveDesigner 启动 Rave Reports5.0。

我们可以看到,报表设计器的界面与Delphi非常像,左上角是各种工具栏按钮,
右上方是组件面板,左侧是属性窗,右侧是项目管理窗,中间则是可视化的设计窗。
利用它设计报表完全是可视化的,通常在它的组件面板上直接将报表界面组件托放到
中间的设计窗上,能在左侧的属性窗口中设置这些界面组件的属性,从而改变它的外
观,设置完后还可以打印御览。
我们在系统自动生成的报表页上放置一个Text Component(在Standard面板上),
可以随意拖动,改变它的位置。右键单击它,弹出菜单,点击cut,copy,delete 等
按钮,好像都不起作用!在右侧项目管理窗中右键单击控件的名字,竟然不会弹出菜
单!这一点与 Delphi 相比可是太不方便了!我们必须使用键盘快捷键才能实现上述
操作。
在利用报表设计器创建报表的时候,首先需要创建数据视图,然后基于所创建的
数据视图设计报表,下面就来创建数据视图。

6.选择[File/New Data Object]菜单项,在系统弹出的对话框中选择 Direct
Data View ,点击 Next,然后选中 RvDataSetConnection1(DT),点击Finish。

是不是这样就搞定了呢?谁知系统弹出错误消息框,“ A component named
DataView1 alreadly exists.” 明明没有创建 DataView1,为什么说 DataView1
已经存在呢?笔者经过几次试验,终于找到了问题之所在。还记得我们使用的数据表
吗?所有字段都是中文的,请试者将刚刚创建失败的 DataView1的 Name 属性改成
随意的汉字,又将得到错误消息框,”name” is not a valid component name.
看来,在由 Rave Reports创建的视图和其所有字段名中使用汉字是不合法的。因此
系统在创建视图遇到不合法字段时,自动将其名称定为DataView1,当数据表中有多
个字段时,名称都是 DataView1,当然会提示它已经存在了。
好了,删除已经创建的 DataView1,把 StuInf 表中所有的字段都改成英文的,
重复第6步,一切搞定!在项目管理窗中点击 DataView1左侧的”+”,将会看到所有的
字段,只是在原字段名前都加上了“DataView1”,即DataView1Sno,DataView1Sname
等等,当然,你还可以修改它们的 Name 属性。

数据视图已经创建成功,下面开始报表界面的设计。先来设计行式显示的报表。

7.新建一个报表页,选择 Zoom 面板,点最右边的一个按钮以看到整个报表页,
这样有利于设计。
8.在页面的上方放置一个 Text 组件,点其 Font 属性,设置字体样式,再将其
Text 属性置为 ”学生基本信息”,作为表头。
9.选 Report 面板,放一个 Region 组件到报表页上,调整其大小和位置。
10.在 Region 上放一个 Band 组件,在 Band 上放一个 Text 组件,设置其
Text 属性为“学号”。再放置几个 Text,设置它们的 Text 属性分别为其他几个字
段的中文名称,适当调整它们的位置,不要超出 Band1 的白色区域。
11.在 Report 面板上选 DataBand 放到 Region 上,设置其 DataView 属性
为 DataView1。
12.在 DataBand 上放一个 DataText 组件,设置其 DataView 属性为
DataView1,DataField 属性为 Sno;再往 DataBand 上放几个 DataText 组件,
设置它们 DataView 属性为 DataView1,DataField 属性分别为剩下的几个字段。
调整它们的位置,不要超出 DataBand1 的白色区域。

点工具栏按钮上的 Execute Report,看看刚刚设计出的报表怎么样吧!如果不
满意,继续调整各个控件的位置和字体,直到满意为止,保存文件,命名为 Rave1.
我们再来设计表格形式的报表,这次就简单的多了!

13.重复7,8,9,6,11步骤,选择 Drawing 面板,这里的组件是专门用来绘
制各种图形的。调整 DataBand 的大小,选择合适的组件,在 DataBand 上绘制你
想要的图形,调整它们的布局,与 10,12 步一样的道理,添加各种组件并设置其
相关属性,御览报表,直到满意时保存文件,命名为 Rave2.

接下来,我们往主程序中添加代码。

在窗体上添加一个 RvProject 组件,在 Button1 的 On Click 事件中加入
以下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
Try
if RadioButton1.Checked then
begin
RvProject1.Close;
RvProject1.ProjectFile:=’Rave1.rav’;
RvProject1.Open;
RvProject1.Execute;
end
else if RadioButton2.Checked then
begin
RvProject1.Close;
RvProject1.ProjectFile:=’Rave2.rav’;
RvProject1.Open;
RvProject1.Execute;
end
else
ShowMessage(’请选择报表式样 !’);
Except
Exit;
End;
end;

在 Form1 的 OnCloseQuery 事件中添加代码:RvProject1.Close; 调用
RvProject 的 Open 方法后,必须调用 Close 方法关闭报表项目文件,并从内存
中卸载。
好了,保存工程,运行程序看看效果如何吧,是不是很酷呀?看来,制作报表
也不是什么困难的事。到这儿,相信读者在报表制作上已经入门了,其实 Rave
Reports 5.0 的功能远不止这些,利用它,可以实现许多功能,比如带字回绕,
图形化,精确页面位置控制等等,掌握它,可以制作出漂亮,复杂,高度个性化
的报表,这些就留给读者自己探索吧。

注意事项:
1.数据表要使用英文字段;
2.Text 和 DataText 不能自动换行,若数据太长,使用 Memo 和 DataMemo
组件。

以上是转载别人的

自己的一点心得

如果想控制报表的显示,在界面上加一TRvSystem组件,然后把RvProject组件的Engine属性
设为TRvSystem,设置TRvSystem组件的相关属性,即可控制报表的显示,比如直接预览报表,显示最大化等。

转载于:https://www.cnblogs.com/yxbsmx/archive/2009/08/26/1554066.html

delphi7 学习RAVE报表相关推荐

  1. 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合

    dada-report报表整合UReport报表设计器工具 结合日常工作和学习实践,针对传统报表子站面临的问题,尝试借助UReport报表设计器解决 1.可在现有工程基础上引入Ureport2报表设计 ...

  2. 阿里云Quick BI学习之报表制作

    ☀️ 在上一章节中,我们介绍了Quick BI的理论基础,在这一章节中,我们将通过一个报表制作的实践来学习Quick BI是如何工作的.对往期内容感兴趣的同学可以查看下面的内容

  3. 对比Excel,轻松学习 Python 报表自动化实战!

    来自小z 欢迎关注 ,专注Python.数据分析.数据挖掘.好玩工具! 这篇文章将带你了解报表自动化的流程,并教你用 Python 实现工作中的一个报表自动化实战,篇幅较长,建议先收藏,喜欢点赞支持, ...

  4. 快速学习POI- POI报表的概述

    2 POI报表的概述 2.1 需求说明 在企业级应用开发中,Excel报表是一种最常见的报表需求.Excel报表开发一般分为两种形式: 为了方便操作,基于Excel的报表批量上传数据 通过java代码 ...

  5. 对比Excel,学习Python报表自动化实战

    本篇目录: Excel的基本组成 一份报表自动化的流程 报表自动化实战 将不同的文件进行合并 Excel的基本组成 下图是Excel的中各个部分的组成关系,我们工作中每天会处理很多Excel文件,一个 ...

  6. 润乾报表学习:报表在页面的样式等的调整

    步骤一:首先将报表和参数模板设计好 在这里,后面在导出PDF与word的时候,因为我的字号设置的问题,最后一列总是打印在后面一张上,这里就记录一下设置打印的问题.在属性--报表属性,打开,显示如下界面 ...

  7. 帆软报表开发学习笔记(八)

    `帆软报表开发学习笔记` 报表特性_超级链接(20200928) 报表特性_条件属性(20200929) 报表特性_导出(20200930) 报表特性_打印(20201001) 报表特性_编码专题(2 ...

  8. Delphi中文帮助[1]Delphi7的新特性

    声明:本文是对borland公司delphi7在线帮助的翻译.原文版权归borland公司所有,中文翻译版权归作者所有.本文可以在不经作者授权的情况下进行转载,但必须注明作者和源出处,且不得用于商业用 ...

  9. ASP.NET MVC应用程序展示RDLC报表

    ASP.NET MVC应用程序展示RDLC报表 原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有 ...

最新文章

  1. 被业务方投诉了!CTO直摇头:人际关系处理太差,不懂维护“情感账户”
  2. python 终止、结束、退出 代码
  3. Bmu计算机,高性能定点DSP位处理单元BMU的 - 处理器/DSP - 电子发烧友网
  4. Android依赖注入的实践——Dagger2
  5. 分割 标注数据_7种常用的数据标注工具
  6. 生活只是需要一种积极的态度
  7. AD 脚本kixtart运用之五(用户电脑屏保设置)
  8. java日志系统_Java日志系统
  9. 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  10. css随记01编辑技巧,背景与边框
  11. windows form参数传递过程
  12. Bailian4067 回文数字(Palindrome Number)【数学】
  13. 歌词模拟项目c语言,C语言之歌词解析
  14. Emule Edonkey server
  15. 读大学,大学四年培养的思维与工作能力,(读研,读博)
  16. 基于linux上搭建红楼梦知识图谱---后续
  17. 房地产销售一直不开单?看看销售冠军的逼单话术
  18. t3提示本地系统高于服务器,登录T3软件时,提示本地版本高于服务器已升级版本...
  19. 跟着吴坚鸿学单片机——第1天:吴坚鸿谈初学单片机的误区
  20. 你绕不开的组件—锁,4个方面手撕锁的多种实现

热门文章

  1. 全景影像转点云——只有鱼才能看见的真实
  2. Python-数据处理(2)-一个判断经纬度在陆地还是海的包
  3. 如何阅读Python代码?
  4. 并发编程JUC深度学习(七)无锁(乐观锁)
  5. aspose无法在Linux无法运行,com.aspose 生成pdf在linux生成PDF乱码解决(window环境正常)...
  6. 怎么用matlab做三维正方体,用Matlab三维网线图函数mesh绘制正方体
  7. 计算机专业英语词汇表RSTUVW
  8. python经典爬虫之获取酷狗音乐TOP500信息
  9. 计算机应用基础95页自荐信,计算机应用基础自荐书.doc
  10. 国际合作越来越多,如何国际化短视频源码(ios篇)