怎样在DELPHI中执行RAVE报表(100分)

  • 主题发起人 主题发起人 miscad
  • 开始时间 开始时间
M

miscad

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在DELPHI中执行RAVE报表,RAVE报表已设计好了。
但是当我执行RVPROJECT.OPEN
RVPROJECT.EXECUTE
时,报错"没有数据连接"
 
未用过Rave 只能帮你顶一下
 
你的连接控件RvDataSetConnection1设了没
 
*1.1初识Rave
其实在Delphi7发布以前,我们就已经看到过有关Rave的相关内容,但它在那时,是非常的复杂的,如*图11.1所示。

*图11.1.Delphi6下面的Rave
而在使用它时,我们会看到一个与现在的界面相差不是太多的一个设计界面,如*图11.2所示。

*图11.2.Rave4的设计界面
通过这样的一个报表设计界面,开发人员可以开发出符合用户要求的报表来,而且更可贵的是这一切与使用Delphi集成开发环境几乎是完全的一样,这可能是Rave与其它的报表组件最大的外观上的不同吧!
在*图11.2中,我们看到的是Rave4.0中的界面,而当Delphi7发布后,Rave也随之升级为Rave5.0,而它们的组件也产生了非常大的变化,而这些变化是在吸收了Rave4的优点,并更加集成化后得到的一个新的版本。如*图11.3所示。

*图11.3.Delphi7下的Rave
而在设计报表时,它的报表组件栏也再一次的支持了浮动功能,这样就可以更加容易的进行自定义的处理,如*图11.4所示

*图11.4.Rave5的报表设计界面
了解到这些后,那么该如何使用这些组件,并且如何进行报表的设计及分发,该如何让这些设计好的报表与我们的应用程序紧密的集成这些问题都被列上了日程,接下来就让我们对Rave的一些特点进行深入的了解,相信读者在看完这些后,结合Rave的帮助信息,可以非常容易的完成自己的报表设计。

*1.2Rave组件的介绍
正如前面我们所看到的,Rave报表组件已经在Delphi7中被默认的安装了。使用过报表组件的开发人员都知道,如果一个好的报表组件就必须具备以下几个特点。
l l 简单易用
l l 模块化强
l l 有供开发人员和用户使用的报表设计器
l l 可以与应用程序高度集成
l l 具备优秀的数据库连接能力
而我们已经知道的报表组件QuickReport、FastReport、ReportBuilder都具备了这样的几个特点,那么Rave又是怎样支持这样的几个特点的呢?如果想了解这些内容,那么就必须进行深入的使用才可以让我们充分的体会到Rave强大的功能。
*1.3简单易用
如果说FastReport是Delphi报表组件当中最为优秀的,相信没有读者会反对,而Rave在继承了它的优点的同时也体现了自己的特色。简单易用就是它的最大的特点。
如果现在你需要设计一个报表,那么可以有两个选择进行这项工作:

*1.3.1启动报表设计器

1、 1、 使用Delphi 集成开发环境下的菜单项选项,如*图11.5所示。

*图11.5.菜单项启动Rave
当你选择了Rave Designer菜单项后,相应的Rave报表设计环境将自动的启动,如*图11.6所示。

*图11.6.启动过程
如果此时你的计算机系统足够快的话,不用几秒钟,读者一定会看到Rave的报表设计器界面,如*图11.7所示。

*图11.7.Rave的报表设计器
如果到了*图11.7所示的报表设计器界面,那么就可以开始正常的报表设计了,相信这时就可以发挥读者设计报表的功力了。
当然,除此之外,还有一种方法可以让我们调用这样的报表设计器,那就是
1、 2、 使用组件打开报表设计器
如果现在是在设计的环境下,那么同样可以使用组件来打开相应的报表设计器,但要注意的是现在必须使用 (RvProject)报表项目组件来进行处理。具体的处理过程是。
在相应的表单中放入RvProject组件,并且在RvProject组件上面双击鼠标左键。如*图11.8所示。

*图11.8.使用组件打开报表设计器
这时,我们同样可以看到*图11.6所示的报表设计器的启动过程。而且只需几秒钟,读者就可以看到*图11.7所示的报表设计界面。
从这两点中,相信读者不难看出,它在启动方面与其它的报表设计组件是不相上下的。并且使用方面也是非常的简单。
*1.3.2设计简单的报表
1.报表设计器概览
如果现在你想设计一个报表,那么它绝对是一个非常简单的过程。不过在设计报表之前,让我们先来了解一下报表设计器的一些特点。如*图11.9所示。

*图11.9.报表设计器概览
而如图9中的设计器主菜单中,我们可以看到它其中已经包括了所有的报表操作选项,如*图11.10所示。

*图11.10.Rave报表设计器的菜单项
不过幸好,Rave提供了快捷按钮这样的设计方式,通过这样的处理,开发人员可以非常快捷的使用这些功能而不用来回的在菜单下进行操作。如*图11.11所示。

*图11.11.报表设计器的快捷操作按钮
在这里与Delphi中的项目概念是一样的,一般Rave报表是由【项目】-【报表】-【页面】所组成的。也就是说,当要为一个应用程序设计报表时,一般是先建立一个项目,接下来建立一个新的报表,最后进行页面的设计。这样就可以设计完成一个最基本的报表。如果在此时需要对报表设计器的基本环境进行设置,那么*图11.12所示的快捷按钮可以帮助你完成这一切。

*图11.12.报表设计器的页面设计
而在这里面对我们设计最为主要的几个快捷按钮,在使用过程中需要注意。如果你需要相应的报表网格线,那么可以使用*图11.12中所示的【激活网格线】的快捷按钮,而且最终会发现报表设计表单中会出现相应的网格线。如*图11.13所示。

*图11.13.设计器的网格线
而如果此时需要显示相应的标尺,那么就点击显示标尺按钮,那么我们会发现设计环境下已经有了相应的标尺。如*图11.14所示。

*图11.14.设计器的标尺显示
经过这样处理后,读者现在可以利用标尺在进行精确的报表设计了,这在设计复杂报表时是非常有用的一个项目。但是不知道读者发现没有,此时的报表设计环境,是一个虚拟的页面作为报表设计的基础。因为现在的打印机不能进行满页的打印,那么在虚拟的页面中也就有了报表打印界线这样的一个概念。在Rave的报表设计环境下,是用一个红色的矩形进行标注的,而是否显示这样的界线,就是显示【可使用区域】按钮的作用所在。而这些内容可以在*图11.15中得到验证。

*图11.15.可打印区域的显示
如果在此时你将报表内容设计在线框之外,那么在报表打印时,越界的部分就不会被打印。这也再一次给开发人员提供了非常大的方便。
而这些报表设计器中的更多的设置还需要使用【编辑器属性】进行设置,如*图11.16所示。

*图11.16.报表设计器的配置环境
这里面有相关的设置需要开发人员在使用的过程中进行仔细的配置,在这里就不具体的进行讲述了,不过有一点,使用默认的配置已经可以满足绝大数报表设计人员的具体需求了。
表面看起来,Rave的报表设计环境,在某种程度上与Delphi的集成开发环境非常的相似,而它其中的对象检视器,无论是在外观还是在停靠的位置上都与Delphi中的目标检视非常的相似,既然外观相似,那么相应的功能也没有太大的不同,就是将相应的报表对象中具体的设置列出,供开发人员进行使用。如*图11.17所示。

*图11.17.报表设计器中的属性栏(对象检视器)
然而,作为对象检视器,它是面对每一个具体的对象的,那么就没有固定的内容,也就是说图17只是其中一种表现形式,更多的形式还需要读者在使用的过程中注意。设计器的最右边是对象树,它就是通过将对象进行树状处理来进行显示,这样与Delphi中的对象树是非常的相似。如*图11.18所示。

*图11.18.报表导航栏(报表对象树)
不过,看完这些内容后,如果读者已经是一个Delphi Fan,那么相信使用Rave一定不是问题,它们在某些方面太相像了。
最后,让人有种回归组件面板的概念的就是Rave报表设计器中的组件面板。如*图11.19所示。

*图11.19.报表设计器的组件面板
*图11.19中所描述的组件面板,包括了在一个报表设计中需要的所有的组件,有线、标签、报表对象等内容,而这些只需要使用者发挥自己的想象来进行使用了。
2.设计简单的报表
介绍了报表设计器的环境,那么接下来就需要具体来实现一个简单的报表来让大家看一看设计一个报表都需要哪些具体的组件,及如何进行报表预览。
新建一个项目
如果想建立一个报表,那么必须要新建一个项目,选择快捷按钮[New Project]就可以办到这一点,而如果是新建的项目,那么它默认情况下是包括一个新的报表的。
新建打印区域
在Rave中有一项其它报表组件不具备的功能就是打印区域的概念,而这一概念就是在一个虚拟的页面中建立一个可以打印的区域,而这一区域是在打印机可打印区域这内的,而如果使用这样的一个区域,就需要使用Rave组件面板中的Report面板下的Region组件,如*图11.20所示。

*图11.20.初次使用Region
图20中所示的灰色区域就是打印区域,那么如果要打印相应的内容,就需要在这个区域内容进行处理,超过这一区域的内容将不会被打印。
建立打印带区
如果说什么是打印带区,那么真是不好解释,因为它是程序设计人员在设计报表时需要知道的最基本的概念,虽然是最基本的概念,但它还真不好说清楚。在这里我们将它解释如下。
我们知道一个报表分为页标题、报表标题、副标题、表头、表体、表尾、表尾说明等内容,而这些内容一般可以使用从上到下的一组区域进行描述,如*图11.21所示。

*图11.21.报表的结构
当我们看到*图11.21时,那么就不难解释什么是报表中的带区概念了。图中每一处的标注都可以称为报表的带区。而在Rave报表设计器中,就是将相应的报表进行拆分最终成为每一个带区的,而在其中它把带区称为”Band”,如果同样要进行报表的设计,我们也应该将自己的报表按照带区的规定进行规范。而Rave中是并将相应的带区分为常规带区、数据带区。
一般来说像报表标题、报表副标题这样一成不变的内容都可以用常规带区进行描述,而像其中的一些数据则可以用数据带区描述。而表示这两种带区的组件如图22 所示。

*图11.22.带区描述
经过这样的设计后,报表设计者可以将可以的报表进行合理的规划并且可以进行程序化,而最终的设计报表结果如*图11.23所示。

*图11.23.最终报表显示
这样通过新建项目-新建打印区域-新建打印带区这三个步骤并结合相应的报表组件,我们已经可以非常容易的建立一个简单的报表了,在建立完成一个报表项目后,保存它这样就可以进行继续编辑或与应用程序一起进行发行。而从这一系列的操作过程中都可以让读者感觉到与编写Delphi程序一样的感受,这可能是Rave有别与其它的报表设计组件的一大特点吧!
3.建立数据报表
前面我们已经利用Rave的报表设计器设计了一个非常简单的报表,但通过这个报表的设计,读者已经知道如何利用最基本的组件来设计一个报表。当然,在实际使用过程中很少用到这样简单的报表,而实际中使用的非常多的环境就是为Delphi的数据库应用程序提供强大的报表处理功能,而这时如何设计一个数据库报表就被列上了议事日程。那么究竟该如何设计一个数据报表呢?它有哪些步骤?需要使用哪组件、对象?都是我们将要解决的问题。有鉴于此,下面就来开始制作数据报表的历程吧!
建立数据源
这可能是任何一个数据报表都要经过的一个步骤吧!而建立数据源,在Delphi中那是非常简单的事情,基本上可以使用任何的数据接口来完成这一步。具体的步骤,请参阅Delphi中有关数据接口的相关部分。在这里我们默认有一个由BDE作为接口的程序。如果要连接Rave制作的报表,那么就必须与Rave建立相应的联系,而将数据库接口与报表进行结合方面Rave提供了四个组件供我们选择,如*图11.24所示。

*图11.24.数据连接组件介绍
单从名称上来看,RvQueryConnection和RvTableConnection是专门应用于Table和Query组件的连接组件,而RvCustomConnection则是自定义的连接组件,这些都是非常专用的组件,而RvdataSetConnection组件则比较方便,因为它不仅可以连接数据表组件而且还可以与任何的数据集进行连接,这样是非常方便的。出于此原因,就选择RvDataSetConnection组件作为示例的连接组件。而最终连接成的结果如*图11.25所示。

*图11.25.在设计窗体中的数据连接组件
这样,就为Rave报表建立了一个完整的数据库连接,当再一次进行相应的报表设计器时,系统已经可以使用相关的报表对象进行报表的处理了。
建立报表数据
已经为报表提供了相应的数据源,那么就必须在报表中进行连接。而Rave报表设计器也为这样的处理提供了非常方便的处理方式。而处理这种数据源的报表对象就是 (新的数据库对象),当点击它后,会出现如*图11.26所示的界面供选择。

*图11.26.报表设计器中的数据连接组件
基本上数据加密对象和简单的加密控制使用的不多,而最多的也就是数据库连接、直接数据视图、驱动数据视图这三个项目。其实数据库连接就好像刚才我们建立的数据源一样来向报表提供相应的数据,并且通过驱动数据视图进行数据再现。
如果此时已经定义了相应的数据源,那么在这里可以直接使用直接数据视图进行操作。当然,这样就更加灵活一点。现在因为已经定义了相应的数据源,那么就直接使用直接数据视图进行定义,如*图11.27所示。

*图11.27.选择报表设计器中的数据连接
在*图11.27中的第二幅图中,选择相应的激活的数据连接,并选择[Finish]按钮,这样一个数据连接就被建立在相应的报表中,而从报表导航栏中也可以看到相应的结果。如*图11.28所示。

*图11.28.报表导航栏
这样,通过这一系列的步骤,就在相应的报表中建立了一个数据连接,那么既然数据连接已经建立,接下来就是进行数据的使用。
1、 1、 建立数据带区
如果在一个报表中使用数据库数据,那么就必须建立相应的数据带区,而这个数据带区 就必须建立在相应的可控制区域(Region) 中。而数据带区中,就必须设置相应的数据连接对象来进行相应的数据处理。而这个参数就是数据带区的DataView属性,如*图11.29所示。

*图11.29.DataBand的DataView属性
选择其中的一个,那么就表示现在的数据带区所对应的数据源是由DataView所表示的内容,这样也表示此数据带区只为DataView所指定的数据内容服务。
注意:在多个数据带区进行处理时,如何判断数据带区的服务数据一般是通过DataView属性进行判断的。
4、放置数据显示对象
既然,已经建立了相应的数据带区,那么接下来就是如何显示相应的具体数据,而要显示的这些内容,首先就必须在相应的数据带区中放置指定的数据显示对象。而Rave中有许多的相关数据显示对象,它们一般都集中于如*图11.30所示的数据显示对象组中。

*图11.30.显示数据组件
通过这些报表对象,可以让报表显示相应的数据信息,当然这些信息可以是文字、大幅面的内容、图片,除此之外,还可以使用它们来控制相应的报表运行状态。
经过这样的一处理,就可以得到相应的报表内容,*图11.31就是这个简单的数据报表所示的结果。


*图11.31.显示组件所构成的报表
而从*图11.31中可以看到,其中使用了*图11.30中所描述的相关报表对象,而这正是在正式的报表设计中不可缺少的部分。当然,你也可以将它设计的更加复杂一些,加入更多的报表对象。这样与实际使用的报表就非常的接近了。
4.预览报表
当然,建立好相应的报表,最希望的就是看到相应的报表结果。而这一切在不离开rave报表设计器的情况下都是可以办到的。而有两个方法可以看到相应的结果。
1、 1、 使用菜单项进行报表的预览。
如果想使用菜单 项进行报表的预览,那么就必须使用*图11.32所示的菜单项进行处理。

*图11.32.预览报表
2、 2、 使用快捷按钮进行处理。
当然 ,最方便的还是使用快捷按钮进行处理,而在Rave报表设计器中可以使用 按钮进行报表的预览,但是无论采用什么样的方式,最终都可以看到如*图11.33所示的报表预览内容。

*图11.33.报表预览结果
这样,我们就在Rave报表设计器的帮助下,完成了一个具有基本报表功能的简单报表,那么接下来就是如何更进一步的使用它们,如果想了解更多的有关Rave报表的内容,就继续看下去吧!
我们现在已经能够很快地设计出用户需要的到了程序来,而这一切是非常快速。下面再介绍的内容,就是如何发挥Rave报表设计器其他报表对象的作用来设计出更好的报表.
前面,我们已经介绍了如何利用报表设计器来完成一个报表的设计,当然这些内容在实际的工作当中,可用性并不是很大,充其量只是一个报表演示而已。那么Rave还有什么优秀的特点可以应用于正式的报表设计当中呢?
 
好,尽管我用D5,还是收藏。
 
原野飞侠:佩服,那里找来的,不错!
各位,RAVE与FASTROPORT相比如何?
能谈谈吗?相比也有许多人关心。
 
可是我早就在RVPROJECT中用它自带的组件完成了数据连接。
 
给个邮箱,给你个详细说明
 
to lili365
我的EMAIL:miscad@163.com
thanks
 
在這裡說吧,以後可以教導大家
 
多人接受答案了。
 
后退
顶部