fastreport(1)

本文主要介绍了FastReport组件,它可用于报表建立、修改、导出等。着重讲解了TfrxReport这一主要报表元件,包括其提供的方法如Clear、LoadFromFile等,拥有的属性如EngineOptions、IniFile等,还介绍了FastReport引擎、报表预览、打印及相关属性集合,以及TfrxReport元件的事件定义。

FastReport components review

FastReport 包含许多元件供报表建立、修改、导出不同的格式及強化报表功能, 让我们探究每一个FastReport 元件栏上的元件。

TfrxReport

此为最主要的报表元件,一个TfrxReport 元件组成一份报表。在设计时期,双击此元件可打开报表设计器(Report Designer)

此元件拥有所有载入、存盘、设计及来看报表必须的属性及方法。让我们检查TfrxReport 提供的方法:

procedure Clear;清除报表

function LoadFromFile(const FileName: String; ExceptionIfNotFound:Boolean = False): Boolean;

从给予的文件载入报表。假如第二个参数等于 “True”且文件不存在,将产生例外状况,假如文件载入成功,返回值为”True ”

procedure LoadFromStream(Stream: TStream);从数据流(stream)载入报表。

procedure SaveToFile(const FileName: String);保存报表至指定的文件。

procedure SaveToStream(Stream: TStream);保存报表至数据流(stream)

procedure DesignReport;进入报表设计环境。报表设计环境将嵌入在你的工程文件(要执行此功能,只要在uses 子句加入frxDesign 单元或在工程文件中加入“TfrxDesigner” 元件)

procedure ShowReport(ClearLastReport: Boolean = True);

开始制作报表并输出结果显示在预览窗口。例如“ClearLastReport” 参数等于“False”

报表将会加入至前一个报表的后面,否则前一个建立的报表会被清除(预置值)

function PrepareReport(ClearLastReport: Boolean = True): Boolean;开始制作报表,但沒有显示预览窗口。

参数指定方式与“ShowReport” 方法(method)相同。假如报表创建成功,此函数返回“True”

procedure ShowPreparedReport;显示先前使用“PrepareReport” 所建立的报表。

procedure Print;打印报表。procedure Export(Filter: TfrxCustomExportFilter);使用指定的导出过滤器(export filter)导出报表內容。因为下列的方法只提供一种服务,

在大部分的情況之下,你并不须要使用它们。在增強FastReport 的报表功能方面,他们可能是很有用的。例如,当撰写自定义的报表元件时。

function Calc(const Expr: String): Variant;计算“Expr” 运算式并返回结果。

function GetAlias(DataSet: TfrxDataSet): String;返回指定数据集(data set)的别名。

function GetDataset(const Alias: String): TfrxDataset;返回指定别名(Alias)的数据集。

procedure DoNotifyEvent(Obj: TObject; const EventName: String);执行连接至”Obj” 物件的“EventName”事件处理程序。

procedure DoParamEvent(const EventName: String; var Params: Variant);以任意的参数类型执行 “EventName”的事件处理程序。

procedure GetDatasetAndField(const ComplexName: String; var Dataset:TfrxDataset; var Field: String);解析“ComplexName” 复合名称(DataSet.”Field”表示),并返回参照的数据集及字段名称。

procedure GetDataSetList(List: TStrings; OnlyDB: Boolean = False);

List 参数返回报表可用的数据集列表,假如第二个参数为True ,仅返回连接到数据库的数据集。

procedure AddFunction(const FuncName: String; const Category: String= ''; const Description: String = '');加入使用者自定函数至报表的函数列表。详细资料参考The functions’ listextension一章。

TfrxReport 元件拥有下列属性:

property EngineOptions: TfrxEngineOptions;FastReport 引擎相关的属性集合。

property IniFile: String;储存fastReport 环境变量设定的文档或注册码的名称。

property Preview: TfrxCustomPreview;连接到“TfrxPreview” 元件,完成的报表将显示在此元件上。假如此属性空白,

报表将显示于标准的预览窗口。参见“Custom preview windows creating”一章。

property PreviewOptions: TfrxPreviewOptions;与报表预览相关的属性。

property PrintOptions: TfrxPrintOptions;与报表打印相关的属性。

property ReportOptions: TfrxReportOptions;定义报表相关的属性。

property ScriptLanguage: String;报表使用的脚本语言(Script la nguage)

property ScriptText: TStrings;脚本语言的内容。

property AllObjects: TList readonly;报表内所有的物件列表(包括页定义元件)。

property DataSets: TfrxReportDataSets readonly;报表可用的数据集列表。

property Designer: TfrxCustomDesigner readonly;连结到报表设计元件北ū 砩杓苹肪潮黄舳。

property Engine: TfrxCustomEngine readonly;连结报表引擎。对于要使用程序码处理报表是非常有用的,它可以自定义报表处理引擎。

property Errors: TStrings readonly;错误清单,发生在一个或其它的进程。

property FileName: String;定义报表的文件名称;文件名会显示在设计环境的窗口标题中。

property PreviewPages: TfrxCustomPreviewPages readonly;定义一个连结到已完成的报表页面。它可被使用在所有地方,例如打印、存盘及导出等。

property Pages[Index: Integer]: TfrxPage readonly;报表页面列表,其中对话框类型也包括在列表中。

property PagesCount: Integer readonly;报表的页数。

property Script: TfsScript readonly;连结报表的“TfsScript” 元件,经由该连接,你可以为你的报表脚本语言加入变量、类型、函数以供以后调用。更多资料参见“FastScript developer’s manual”

property Style: TfrxStyle;报表式样。详细资料参见“operating with styles”相关章节。

property Variables: TfrxVariables readonly;报表变量列表。参见“operating with variables”

FastReport 引擎的相关属性集合:

TfrxEngineOptions = class(TPersistent)

published

property ConvertNulls: Boolean default True;转换数据库字段的“Null” 值至“0”, “False” 或空字串(依字段型态定)

property DoublePass: Boolean default False;使报表进行二次处理,第一次进行资料搜集(例如报表总页数),第二次才实际进行报表处理。

property MaxMemSize: Integer default 10;配置报表页面缓存(Cache)的最大内存使用量( Mbytes),当“UseFileCashe” 属性等于“True” 时特别有用。假如在建立期间耗用太多内存,已建立的报表缓存页面将会被写入缓存文件,此属性并不非常的精确,它只大約的決定内存的限制。

property PrintIfEmpty: Boolean default True;定义是否要打印空白报表(没有打印资料的报表)。

property TempDir: String;指定保存临时文件的目录。

property UseFileCache: Boolean default False;定义产生的预览报表是否缓存(Cache)到文件(“MaxMemSize” 属性)

end;

报表预览的相关属性集合

TfrxPreviewOptions = class(TPersistent)

published

property AllowEdit: Boolean default True;允许或不允许编辑预览窗口中的报表。

property Buttons: TfrxPreviewButtons;预览窗口中的可用按钮集合。

TfrxPreviewButtons = set of TfrxPreviewButton; TfrxPreviewButton

= (pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline,

pbPageSetup, pbTools, pbEdit, pbNavigator);

此属性可用的值如下:

pbPrint - 打印     pbLoad - 载入文件  pbSave - 存报表到文件     pbExport - 导出

pbZoom - 显示比例  pbFind - 搜寻      pbOutline - 选定报表边框  pbPageSetup - 页面设定

pbTools - 工具     pbEdit - 编辑      pbNavigator - 导航

上面的值你可以混合使用。

property DoubleBuffered: Boolean default True;预览窗口采用双缓存区模式。假如启用(预置值),画面输出时屏幕不会有闪烁的情形,但处理速度会稍微下降。

property Maximized: Boolean default True;定义预览窗口是否最大化。

property MDIChild: Boolean default False;定义预览窗口是否为MDIChild (MDI 介面使用)

property Modal: Boolean default True;定义预览窗口是否为Modal 模示。

property OutlineVisible: Boolean default False;定义是否显示报表的大纲。

property OutlineWidth: Integer default 120;定义报表大纲显示的宽度。

property ShowCaptions: Boolean default False;定义是否显示按钮的标题。当启动该属性时,你应该限制Buttons 属性所显示按钮的个数,因为所有的按钮无法显示于同一画面。

property Zoom: Extended;预置的显示百分比率。

property ZoomMode: TfrxZoomMode default zmDefault;预置显示模式。

可用的值如下:zmDefault - 显示百分比率视“Zoom” 属性而定   zmWholePage - 整页模示

zmPageWidth - 页宽 zmManyPages - 两页

end;

报表打印相关属性的集合:

TfrxPrintOptions = class(TPersistent)

published

property Copies: Integer default 1;预置的打印份数。

property Collate: Boolean default True;不管校对份数。

property PageNumbers: String;打印的页码。例如,“1,3,5-12,17-“

property Printer: String;打印机名称。

property PrintPages: TfrxPrintPages default ppAll;

定义要打印的方式。可用的值如下:ppAll – 全部  ppOdd – 奇数页   ppEven – 偶数页

property ShowDialog: Boolean default True;是否显示打印窗口。

end;

报表相关属性的集合:

TfrxReportOptions = class(TPersistent)

published

property Author: String;报表作者。property CreateDate: TDateTime;报表建立日期。

property Description: TStrings;报表描述。property Name: String;报表名称。

property LastChange: TDateTime;报表最后修改日期。

property Password: String;报表密码。假如该属性为空白,当打开报表定义档时需要输入密码。

property Picture: TPicture;报表图片。

property SilentMode: Boolean default False无声(Silent)方式。所有的错误信息将被保存在“TfrxReport.Errors” 属性,而不会在屏幕上显示任何信息。

property VersionBuild: String;

property VersionMajor: String;

property VersionMinor: String;

property VersionRelease: String;决定报表版本的属性。

end;

下列的事件定义于TfrxReport 元件:2

property OnAfterPrint: TfrxAfterPrintEvent;发生在处理完每个报表物件之后(打印后)。

property OnBeforePrint: TfrxBeforePrintEvent;发生在处理完每个报表物件之前(打印前)。

property OnClickObject: TfrxClickObjectEvent;当预览一份报表时,选取报表内的物件时触发该事件。

property OnGetValue: TfrxGetValueEvent;当启动一份报表,发现未定义的变量时,该事件必须返回变量的值。

property OnManualBuild: TfrxManualBuildEvent;当开始打印报表,假如此事件被启动,然后FastReport 的引擎将被阻断(不处理),报表处理方法将交由程序员所写的程序处理。

property OnMouseOverObject: TfrxMouseOverObjectEvent;当报表处于浏览窗口,且鼠标指针移到该物件上时触发此事件。

property OnUserFunction: TfrxUserFunctionEvent;当执行报表的过程中,当调用的函数不存在,请使用“AddFunction” 方法提供自定义函数。

fastreport快速上手手册 这个也是从别的地方下载的 目 录 入门 5 绪言 6 关于FASTREPORT的说明 6 FASTREPORT的历史 6 创建报表 7 数据 8 参数 8 窗体 9 处理 10 准备报表 10 举例:设计一个简单报表 11 FASTREPORT内核 14 DELPHI控件面板 15 “FastReport”页 15 “FRTools”页 17 TfrReport控件 17 TfrDBDataSet控件 20 TfrUserDataSet控件 21 FASTREPORT对象 21 “Text”对象 22 “Band”对象 26 “Image”对象 29 “SubReport”对象 30 “Line”对象 30 “CheckBox”对象 30 “RichText”对象 30 “OLE”对象 31 “Chart”对象 32 “Shape”对象 34 “Barcode”对象 34 “RichText 2.0”对象 35 创建报表 36 FastReport中的Bands 36 简单报表(列表) 39 主-从报表 40 主-细-子细报表 40 交叉报表 40 动态报表 41 bands分隔 42 分栏报表 43 带封面的报表 43 嵌套报表(子报表) 43 主-从-从报表 44 复合报表 44 包含BLOB字段报表 44 没有band的报表 44 分组报表 44 图表报表 45 设计器 46 设计器 47 使用控制键 47 使用鼠标 48 报表选项 48 页面选项 49 设计器选项 51 对象观察器 52 “插入数据字段”窗口 53 数据字典 53 表达式编辑器 58 工具栏 60 “标准”工具栏 60 “格式”工具栏 61 “边框”工具栏 62 “对齐”工具栏 62 程序设计 64 事件 65 TfrReport对象的其它事件 65 变量 66 扩展FASTREPORT函数 68 设计你自己的预览窗口 68 扩展函数列表 69 报表示例 71 报表示例 72 在报表中插入图表 72 运用OnManualBuild事件控制报表逻辑结构 74 运行时使用代码手工合成报表 76 打印可变栏数或未知栏数的报表 77 打印可变栏数和栏宽可变的报表 78 最终用户特性 80 介绍 81 对话框 81 对话框窗体控件 82 Label 83 Edit 83 Memo 84 Button 84 CheckBox 85 RadioButton 85 ListBox 86 ComboBox 86 输入信息到报表中 87 数据访问控件 88 FastReport数据感知控件简介 89 TfrBDELookupComboBox 89 TfrBDETable 89 TfrBDEQuery 92 TfrBDEDataBase 93 创建报表 94 简单的“表格式”报表 94 带参数的报表 95 TFRDATASTORAGE控件 96 连接到一个数据库 97 打开一个数据表 98 生成一个查询 99 字段编辑器 99 创建查询字段 100 查询参数编辑器 101 联接数据 101 参数对话框 102 参数对话框设计器 102 内置语言 103 脚本语言和对象 104 编写代码 105 对象修改 107 内置函数 107 对象的属性和方法 110 解释器的使用 119
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值