zoukankan      html  css  js  c++  java
  • fast Report 使用(1)

    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” 方法提供自定义函数。

  • 相关阅读:
    mock中测试private方法,不是mock
    PHP检测每一段代码执行时间
    Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
    php返回HTTP状态码
    PHP获取今天、昨天、明天的日期
    memcache及其telnet命令使用详解
    PHP的json_encode中文被转码的问题
    PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
    php pack()函数详解与示例
    socket编程原理
  • 原文地址:https://www.cnblogs.com/kingwangzhen/p/1500430.html
Copyright © 2011-2022 走看看