D7 自带报表打印工具用法

xikboy 2010-01-08 04:12:27
没做过报表,越详细越好!


我想把dbgrid1 里的内容,预览,打印出来. 要求能实际一个ID一页,不管一个ID有几条数据.
A4纸张,能纵打,模打,设置纸张格式.

有想关代码的给一份,谢谢!
...全文
236 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
aricyoung 2012-10-24
  • 打赏
  • 举报
回复
这个可以学习一下啊,谢谢
山东蓝鸟贵薪 2012-10-24
  • 打赏
  • 举报
回复
clc830516

太感动了,我再补习一下
山东蓝鸟贵薪 2012-10-24
  • 打赏
  • 举报
回复
我只学会了
ReportMachine
快乐远航 2010-02-04
  • 打赏
  • 举报
回复
DELPHI7.0软件自带有报表Quick Report组件,但是默认的情况下,工具栏中是没有的,需要手动添加,步骤:

component->install packages->add->\borland\bin\dclqrt70.bpl

一、组件功能简介

上面的两个图是QuickReport组件页的中所有组件,在BCB6中提供给我们使用的不会少于上面的23个的。

下表是按上图中组件的位置先后,对各控件的使用功能逐一做了简单的介绍:



1)QuickRep
带有坐标,作为其他报表控件(如TQRBand)的容器,通过它的Band属性可以自动添加各种类型的TQRBand


重要属性 (Properties)
使用说明

DataSet

连结数据来源,一般是ADO/BDE连接组件的名字

Page
 
纸张的设置,可展开

BottomMargin
10.0mm
报表下边界尺寸

Columns
1
报表分栏数,默认为1栏

ColumnSpace
0.0mm
报表栏与栏间隔尺寸,Columns值大于1时有效

LeftMargin
10.0mm
报表左边界尺寸

Length
210.0mm
报表长度尺寸,与PaperSize设置相关

Orientation
poPortrait
poLandscape
报表方向 打印方向,有下面两个值:直印 poPortrait、横印poLandscape

PaperSize
A4
报表打印纸张大小

RightMargin
10.0mm
报表右边界尺寸

Ruler
true
报表标尺显示

TopMargin
10.0mm
报表上边界尺寸

Width
297.0mm
报表宽度尺寸,与PaperSize设置相关

PrinterSetting
 
 

Copies
1
报表复制份数

Duplex
false
报表双重打印

FirstPage
0
报表打印起始页

LastPage
0
报表打印终止页

OutPutBin
Auto
报表输出种类

ReportTitle
 
报表预览打印标题

Units
mm
报表设计阶段显示标尺单位



2)QRSubDetail
建立一个主/明细(master/detail) 报表,连接明细文件的组件

3)QRStringsBand
可建立一读取 TStrings 中项次值的组件。在这个组件里有一个Items属性,若Items一个值(一行空、一回车行)都没有,那他上面的组件将不会起作用。当String List Editor中有几行,该组件上的内容就重复几次。若只有一行内容时,她与一个DetailBand是一样的;而多行时,也是差不多的,即先重复该区段内的可视组件几次(几行就几次),然后下一个再重复。比如三行,那就是第一个数据来三行,然后第二个数据来三行,再然后,直到最后



4)QRBand
用来确定在报表的不同位置应该显示什么内容,它上面可以放控件

5)QRChildBand
在报表中基础子项条列组件。他有一个ParentBand属性,你必须把他与其它band连接起来,只有这样在她里面布置的组件才有效。说直接就是已经有了一个Band而你还需要一个这样的组件,那就用她吧

6)QRGroup
在报表中对资料做逻辑上分组的组件。当你连接了几个datasets到报表时可以通过Groups成组的对dataset进行操作

7)QRLabel
打印静态的文本(即不是根据数据库值来改变的),作用象Tlabel 。 Caption的内容就打印出来的内容;AutoStretch是布尔型变量,当标签标题在设定范围内不能打印时,该属性将起作用,若为true,报表将继续打印没有打印完的文本,其它需要打印的文本将依次向后移动,反之,则超出部分不被打印

8)QRDBText
在报表中具有显示连结资料来源的文字功能的组件

9)QRExpr
在报表中具有显示陈述句或计算表示式值的组件

10)QRSysData
在报表中具有显示系统信息的组件

11)QRMemo
在报表中显示备注文字的组件

12)QRExprMemo
在报表中是TQRExpr 和 TQRMemo 的混合组件

13)QRRichText
在报表中具有显示区域文字功能的组件

14)QRDBRichText
在报表具有显示连结资料来源的区域文字功能的组件

15)QRShape
在报表中处理几何图形的组件,如方形、圆角方形、椭圆

16)QRImage
在报表中显示静态的图片,包括(BMP,WMF,ICON)

17)QRDBImage
在报表中显示从数据库接收的图片

18)QRCompositeReport
在报表中连结有关与无关的报表组件 ,用于创建混合报表的组件,可以把两个或两个以上的报表连接在一起,组成一个报表

19)QRPreview
在执行阶段建立自订预览报表组件

20)QRTextFilter
将报表内容输出于ASCII text 文件

21)QRCSVFilter
将报表内容输出于CSV文件

22)QRHTMLFilter
将报表内容输出于HTML文件

23)QRChart
可以在报表上应用的图表工具

二、组件关系表



下图说明了与QuickReport相关组件之间的连接与关系:



┌ADOTable<=| ┌QRChilderBand┐

DataBase<=ADO<=│ |<=====QuickRep<=====├QRBand │<===可视化组件

└ADOQuery<=| └QRStringBand ┘



数据库 ADO引擎 报表容器组件 Band区段(容器) 可视化控件(显示)

注意:可视化组件必须布置在相应的TQRBand区段上,否则将得不到要显示的内容。BDE引擎与这个差不多,他与ADO只是与库联接方式不一样,对QuickReport没有什么影响。



有时有些朋友不小心把可视化组件放在窗体上了,而没有直接放在TQuickRep组件中的各Band区段上,当把这些组件移到想要放置的区段时,发现这些组件不能用,所以你要切记:一定要把组件放在固定的区段上,并且在区段之间也是不能移动的。我们从Object TreeView中可以看到这些组件与TQuickRep是同一层,当然他不可能为TQuickRep工作了,只有他成为TQuickRep中的某一个区段(某个Band)的下一层时,才能正常工作。并且一定要放在一个区段中,不要误认为放在TQuickRep上就行,如果你直接放在TQuickRep上,你的报表中将得不到什么L



三、最大容器TQuickRep



QuickReport中组织层次是特别严格的,TQuickRep是报表组件中必须有的,并且所有Band组件都必须放在她的上面,如果说每个Band区段都是一个小容器的话,那她就是一个最大的容器。想用好QuickReport,TQuickRep绝对不能只看作是一个类似Form的容器,如何用好她对我们用好QuickReport会起到关键性作用。

1)主要属性:

DataSet是TDataSet数据集类型变量,用来设置报表使用的数据集组件对象,在主/明细报表中是主报表的数据集。若我们的报表要用到数据库,她必须指定数据库连接工具的名称,否则你的程序将看不到数据库中的数据。当然,在数据库的连接组件中也一定要把Active设为true,让不你只能在程序运行中动态的把数据库打开,而在程序设计阶段将看不到什么L

RecordCount 是数据集组件对象中记录的数量;

RecordNumber是当前正在打印/显示的记录的索引(第一条记录的索引是0);RecordCount、RecordNumber两个属性只有打开数据集对象之后,它们才可以访问。

若报表组件成功地从数据集组件对象中提取数据,并生成报表,则Available的属性值为true。

State属性是报表状态信息,它是枚举型变量,可以有以下的取值:

qrAvailable:报表资源已准备好,可以预览或打印;

qrPrepare:正在生成报表;

qrPreview:正在预览报表;

qrPrint:正在打印报表;

qrEdit:正在编辑报表。

Description是TStrings类型属性,它可以用来保存程序员对报表的简单描述。主要是起提示作用。

Page属性是TQuickRep组件中最重要属性,它是TQRPage类型变量,用来设置报表的页面属性。报表组件为她提供了特殊的编辑器,使用组件的快捷菜单Report settings就可以打开Page的属性编辑器窗口。在报表页面属性对话框上可以设置页面的尺寸、边框、分栏、区段等等页面的属性。当然我们也可以在对象查看器中点击 Page前面的“+”展开它的所有属性,并分别设置这些属性。其中PagerSize是设置纸张大小的,他与Width、Length是密切相关的,改变PagerSize的值,后面两个的值也会做出相应的变化,同样,改变后两个属性时,PagerSize的值也会做出相应的改变。我们可以通过改变Orientation的值来改变打印的方向。Margins指的是报表显示内容在PagerSize中的位置。Columns属性我们一定注意,它是分栏设置,与WORD里的分栏设置是一样的,无论出于何种目的,有时我们要把打印内容分成两栏(或多栏)时,这时我们就要用到它,把它的值改为2(或实际栏数),至于栏间的距离我们通过Column space来设定。

Units属性是用来设置纸张的显示单位的,我们通常都选用mm(毫米),当然你要对其它比较了解也可以选用,但我认为最好不要选用其它项。

2)主要方法及事件

TQuickRep提供了大量方法以实现生成、预览和打印报表的功能,但是,它的许多方法是私有成员函数,在类外不允许访问。在实现报表功能时,应用程序经常需要调用Cancel、NewColumn、Preview、PreviewModal、PreviewModeless、Print、PrinterSetup和ResetPageFooterSize几个方面。

Cancel 方法用来撤销当前正在进行的操作,它与把TQuickRep 组件对象的Cancelled属性设置为true是一样的。

NewColumn、Print与PrinterSetup都是与打印有关的方法。其中NewColumn用来强制打印机从新栏开始打印,如果当前栏是页面的最后一栏,则该方法将自动调用方法NewPage ,从新页开始打印。

Preview、PreviewModal和PreviewModeless都是用来预览报表的。

这些方法都不需要使用任何参数。

TQuickRep能够响应的事件主要有:AfterPreview、AfterPrint、BeforePrint、OnEndPage、OnStartPage和OnPreview事件,这些事件的触发与使用方法比较简单,另外在实际应用中运用的并不多,这里就不再多说了。



四、 报表控件摆放的区段



作为报表,它通常有一个固定的模式,最常见的报表主要是由以下六部分组成:

PageHeader:页眉,每页均会出现
|
Title:标题, 只出现在第一页
|
ColumnHeader:所有列的标题,即报表文件的字段区域,每页只会出现一次
|
Detail:记录的内容,一个字段一列,即报表的文本区域(重复区)
|
Summary:摘要(只出现在最后一页)
|
PageFooter:页脚,每页均会出现




在QuickReport中,是通过不同的TQRBand区段来实现的。

TQRBand 是放在TQuickRep组件上面的一个容器,我们在其上面可以放置我们要打印的可视化QuickReport组件。而通过对TQRBand的BandType属性的设置,我们可以改变TQRBand区段的类型,来实现不同区段的功能。

BandType是一个枚举型变量,显然上面常见报表组成表中的那六个部分也一定会出现在BandType的枚举值中,只不过每个前面都加上了前缀rb。我们选择不同的BandType值,就代表不同的区段类型,实现不同的功能,这一点必须注意。

实际上TQRBand的BandType属性值不止上面的六个,她还有以下几个值:

rbGroupHeader:组页眉表格元,用于标志组页中每一页的开始,也用于TQRSubDetail;

rbGroupFooter:组页脚表格元,与rbGroupHeader结合分隔出单页,适用于TQRGroup和TQRSubDetail;

rbSubDetail:字数据表格元,无需手工设置;

rbChilder:字表格元,无需手工设置。

事实上,我们还可以在TQuickRep上来布置区段,我们只要把TQuickRep组件的Band属性前面的“+”点开,就会看到上面那六个值(当然每个前面都加上了Has,可不是rb了),这些值都是布尔型的,我们想要用哪个区段类型的TQRBand,只要把其值设为true,就可以了。从这一点可以看出:前者可以更加灵活的布置Band区段,后者使用起来更加方便、快捷,至于到时候你用哪个,那就看你当时的心情与实际情况了。单纯从结构严谨性上来讲,还是通过TQRBand的BandType来设定区段类型更好一些,并且这样做出的报表出现的问题最少。

五、报表运算组件TQRExpr与系统功能组件TQRSysData



报表运算组件TQRExpr用来提供一些简单的计算功能。Expression属性是她的最重要属性,我们有必要而且也必须掌握好她。

只要单击Expression右端的编辑按钮就可以打开表达式编辑窗口。利用这个编辑器,我们可以比较方便的设计表达式。通过表达式编辑器窗口中的按扭,可以在表达式中插入数据库中的表的字段、函数、数学和逻辑运算符,并可以通过Validate按扭来测试表达式的正确性。

当然,我们也可以直接在编辑器中输入表达式。

在她的函数中IF你一定要用好,因为她会帮我们很多忙,这个函数的对于学过DBASE的程序爱好者来说应该是非常熟悉的,因为在这里她们的使用是一样的;在C中,她与for(;;)语句或“?:”表达式差不多。她的具体使用格式如下:

IF(条件式,为真用这句,为假用这句)

系统功能组件TQRSysData可以为我们提供一些经常用到的系统功能。为了实现这些功能,他提供了两个重要属性Data和Text。

Data是一个枚举类型变量,它有七个取值,如下表:



系统功能类型表(Data取值表)



系统功能类型
功能描述

qrsTime
系统时间

qrsDateTime
系统日期和时间

qrsDetailCount
需要打印的记录数量

qrsDetailNo
正在打印的记录索引

qrsPageNumber
正在打印的页

qrsReportTitle
报表标题

qrsDate
系统日期




Text属性是字符串类型变量,用来构成完整的系统功能字符串。

Data和Text这两个属性通常是一起使用的。如果将Text设置为“打印时间:”,而将Data设置为qrsDataTime,则系统打印结果为“打印时间:2003-9-21 13:08:12”的形式。

许多情况下,我们更想打印如“第1页”这样格式的页码,使用上面的属性是不能实现的,这就要我们编写代码来实现。在打印/显示报表时,应用程序将触发OnPrint事件句柄。这样我们只要在报表运算组件TQRExpr或系统功能组件TQRSysData的OnPrint中写下如下代码就可以实现了:

void __fastcall TForm1::TQRExpr1Print(TObject *sender, AnsiString &Value)

{

Value="第"+Value+"页";

}

//-------------------------------------------------------------------







void __fastcall TForm1::TQRSysData1Print(TObject *sender, AnsiString &Value)

{

Value="第"+Value+"页";

}

//-------------------------------------------------------------------



通过这两段代码我们可以知道,原来这两个组件显示或起作用的就是Value,如果我们不修改Value的值,则直接打印Value内容。由于我们在OnPrint事件中修改了她的值,从而改变了打印的内容。

注意:有些朋友把上面代码输入了进去,却得不到正确的内容,原因很简单:TQRSysData的Data属性值设置不对,这个例子中我们要得到页数,看一下Data的值是不是qrsPageNumber,并且Text的值是否为空;对于TQRExpr组件,你是否通过Expression编辑器的Variable按钮进入了下一页,选择了PAGENUMBER值?这是你不能正确实现代码的问题所在。



六、TQRShape组件



TQRShape组件可以在报表上输出一些简单的图形,设置它的Shape属性可以选择不同的图形,但它主要用于绘制表格线,因此与TShape有些不同,下面我们来看一下Shape的取值:

TQRShape组件Shape属性取值表



Shape属性取值
意义

qrsCircle
画圆

qrsHorLine
画水平直线(Height要设为1或其它)

qrsRectangle
画矩形

qrsRightAndLeft
仅在矩形左右绘直线

qrsTopAndBottom
仅在矩形上下绘直线

qrsVertLine
画垂直线(Width要设为1或其它)




作为画图组件她的四个位置属性最为重要,它们是Top、Left、Height和Width。其实对于QuickRep的绝大多数组件来说,这四个属性也是非常重要的。

在Shape属性值为QrsHorLine/ QrsVertLine时,Height/Width的属性值要改为1或其它,这取决于你线条的宽度。

Brush属性用来设置几何图形内部的填充风格,它包括填充颜色Color和填充图案Style。

Pen属性用来设置用于画图的画笔的属性,它包括Color、Style、Mode、Wide等。

TQRShape组件与TShape组件有许多相同之处,但也有一些不同之处,象Shape属性的取值等等,我们一定注意。其实通过对两个类似组件的对比学习,会加深我们对她们的掌握。如果运用得当,漂亮的线条就会出现在我们面前。

对于TQRShape组件的使用来说更多的是熟练,她应该是所有QuickReport组件中最好掌握的一个了,使用率也是最高的一个,并且TQRShape在表格设计中的作用是其它组件所不能取代的,但本文限于篇幅就不在做过多的解释了。
shuaigea12 2010-02-02
  • 打赏
  • 举报
回复
可以使用EhGrid第三方控件,直接支持打印!
diecode 2010-02-02
  • 打赏
  • 举报
回复
DEMO已经很强大了
shuihan20e 2010-01-08
  • 打赏
  • 举报
回复
不是有DEMO吗?
haochin 2010-01-08
  • 打赏
  • 举报
回复
我发现我也没有做过报表呢。。
哪位给个例子吧。。。多谢了。
「已注销」 2010-01-08
  • 打赏
  • 举报
回复
不是给你发过一个例子了吗??
xikboy 2010-01-08
  • 打赏
  • 举报
回复
好冷,急等啊.
xikboy 2010-01-08
  • 打赏
  • 举报
回复
谁有代码:49990474
xikboy 2010-01-08
  • 打赏
  • 举报
回复
现有我装FR3.0
亮剑_ 2010-01-08
  • 打赏
  • 举报
回复
FastReport、ReportMachine 可实现,易学易用
1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。   2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。    3、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。    4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。   5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。 6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。    7、完全支持D5--D7,BCB5--BCB6。    8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。    9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。    10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。   11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。    12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。    13、首家支持即打即停.    14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。    15、首家提供双报表设计器(第一种,第二种),满足所有的需求。    16、更是提供类似于ObjectPascal的script,实现特殊功能。    17、首家提供web,IntraWeb中的报表解决方案。    18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。    19、首家提供合并单元格功能,更加适应处理复杂的中文报表。    20、自动填空行,每页打印数量等细节处理更完善。
1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book,TDecisionGrid等等众多控件。(例子1,例子2,例子3,例子4,例子5)   2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发一个报表只需几分钟的时间。   3、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印,而不需要数据库。   4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。   5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。   6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。   7、完全支持D5--D7,BCB5--BCB6。   8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程序脚本,以控制、或实现更复杂的打印效果。   9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。   10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。   11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。   12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。   13、首家支持即打即停.   14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。   15、首家提供双报表设计器(第一种,第二种),满足所有的需求。   16、更是提供类似于ObjectPascal的script,实现特殊功能。   17、首家提供web,IntraWeb中的报表解决方案。   18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。   19、首家提供合并单元格功能,更加适应处理复杂的中文报表。   20、自动填空行,每页打印数量等细节处理更完善。
复杂的报表?在Report Machine面前,还会有什么复杂的报表存在吗?不,不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件。对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表!想想fast report 吧,Report Machine会fast report会的,还会它不会的!这是一个完全中文化报表控件,支持delphi5到delphi7,BCB5到BCB6。它的最大优点就是:强大与自由!   Report Machine目前主要能做的:   1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。(例子1,例子2,例子3,例子4,例子5)   2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。   3、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。   4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。   5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。   6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。   7、完全支持D5--D7,BCB5--BCB6。   8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。   9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。   10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。   11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。   12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。   13、首家支持即打即停.   14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。   15、首家提供双报表设计器(第一种,第二种),满足所有的需求。   16、更是提供类似于ObjectPascal的script,实现特殊功能。   17、首家提供web,IntraWeb中的报表解决方案。   18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。   19、首家提供合并单元格功能,更加适应处理复杂的中文报表。   20、自动填空行,每页打印数量等细节处理更完善。 21、首家提供IntraWeb下报表插件,完美实现b/s下报表 22、提供webreport方案,可以在asp,asp.net,php中实现报表打印预览。
ReportMachine for delphi xe5  Report Machine目前主要能做的:   1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。(例子1,例子2,例子3,例子4,例子5)   2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。   3、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。   4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。   5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。   6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。   7、完全支持D5--D7,BCB5--BCB6。   8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。   9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。   10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。   11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。   12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。   13、首家支持即打即停.   14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。   15、首家提供双报表设计器(第一种,第二种),满足所有的需求。   16、更是提供类似于ObjectPascal的script,实现特殊功能。   17、首家提供web,IntraWeb中的报表解决方案。   18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。   19、首家提供合并单元格功能,更加适应处理复杂的中文报表。   20、自动填空行,每页打印数量等细节处理更完善。 二、ReportMachine版本简介: 1、VCL版:这是ReportMachine基础版本,一般以全部源码形式提供给注册用户,可以用在Delphi5-Delphi 2009,C++ Builder5.0-C++ Builder 2009开发环境中。 2、com版:是个单独的ocx文件(RMReport.ocx),是用Delphi 7.0及以上版本开发的,是对VCL版ReportMachine控件的再封装,具有VCL版的全部功能,安装、使用上更容易些,com版的ReportMachine可以用在vb,vc,vfp,pb等开发语言中。一般以ocx无源码形式提供,也可以有全部源码(包括vcl源码+ocx源码) 3、com版for .net WinForm:跟com版一样,但多了个.net下的数据库接口程序,此版可以用在vb.net,c#中,做winform程序的报表工具。一般以ocx无源码形式提供,也可以有全部源码。 4、webreport版:是对ReportMachine vcl版的再开发,用在asp,asp.net,jsp做的b/s架构的程序中,为客户端ie提供报表预览、打印、导出功能,webreport包括2部分:服务器端报表引擎(在asp,asp.net,jsp都能用,webreport对上述3中语言都开发了报表引擎)、客户端ie浏览器ActiveX插件(ActiveX插件只有一个,可以自动感知服务器端报表引擎版本)。webreport版不具备设计报表模版功能,需要用单独的报表设计程序在服务器端设计报表,也可以用本站提供的RMDesigner。 5、webreport for IntraWeb版:跟webreport版功能一样,是专为Delphi中的IntraWeb vcl提供的报表插件。 6、RMDesigner:是用vcl版ReportMachine开发的一个报表设计器,可以用来为webreport提供报表设计功能。
Report Machine 3.0 =================== 这是一个报表控件包,For Borland Delphi Versions 4,5,6,7.100% 源码. 最后更新日期:2003.4.15 目录 ----- 1.说明 2.特点 3.最后更新 4.历史 5.安装 6.Demo程序 7.注册 8.版权说明 9.感谢 1.说明 ---- Report Machine是一个报表控件包, Report Machine is reporting tool component. It consists of report engine,designer and preview. Its capabilities comparable with in QuickReport,ReportBuilder. It written on 100% Object Pascal and can be installed in Delphi 4/5/6 and C++Builder 5/6. 2.特点 ---- 复杂的报表?在report machine面前,还会有什么复杂的报表存在吗? 不,不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件。 对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以 完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表! 想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前主要能做的: 一、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。 二、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。 三、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。 四、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。 五、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。 六、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。 七、完全支持d4--d7,c5--c6。 八、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。 九、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。 十、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。 十一、多种格式转换,可以把做出的报表转换为html,xml,bmp,jpeg等等格式。 十二、自动对超长记录折行,超长的内容也会自动折行。 十三、最新增加TRMGridReport,类似于电子表格,非常非常适合制作复杂报表 最新更新和问题解答请访问论坛:www.pcjingning.com 3.最后更新 -------- v.3.0(Build 2003/04/15) - 发布ReportMachine3.0 4.历史记录 -------- 2003.04.15 Report Machine 3.0 5.安装 ----- 以在delphi5中安装举例,在别的版本delphi中请用相应版本的包,比如在delphi6中, rm_r50.dpk换成rm_r60.dpk即可 1.首先安装tb97,或者将tb97中的源程序释放到c:\rm\source目录中,tb97下载地址: http://www.reportmachine.net/download/tb97.zip 2.在Delphi IDE中卸载以前的Repo

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧