知识大全 Delphi 7 中使用RAVE报表(六)

Posted

篇首语:努力让人有了奇迹般的进步,努力可以让人有了奇迹般的成功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi 7 中使用RAVE报表(六)相关的知识,希望对你有一定的参考价值。

Delphi 7 中使用RAVE报表(六)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    作为《Delphi 中使用RAVE报表》的最后 整理一些技巧给大家    .设计好的Rave报表文件如何打包到EXE文件中?   在Rvproject的属性中有一个StoreRav 只要load对应的rav文件即可!同时最好把对应rvproject的ProjectFile属性清空    .如何显示中文化的打印预览对话框?   )拷贝C:\\Rave \\Source目录中的RpFormPreview pas和RpFormPreview dfm到对应的项目目录中    )把RpFormPreview pas加入到对应的项目文件中 把对应窗体的名字从RavePreviewForm更改为SCRavePreviewForm 将文件RpFormPreview pas另存为SCFormPreview pas   3)把窗体SCRavePreviewForm中的对应文字从英文更改为中文   4)在主窗体上加上 RvProject和 RvSystem部件 通过设定RvProject Engine为RvSystem部件来把两者挂接   5)设置RvSystem部件的OverridePreview事件过程为以下代码 procedure TForm RvSystem OverridePreview(ReportSystem: TRvSystem;OverrideMode: TOverrideMode; var OverrideForm: TForm);beginCase OverrideMode OfomCreate:BeginOverrideForm := TSCRavePreviewForm Create(self);//OverrideForm Caption := ReportSystem TitlePreview;OverrideForm Width := ReportSystem SystemPreview FormWidth;OverrideForm Height := ReportSystem SystemPreview FormHeight;OverrideForm WindowState := ReportSystem SystemPreview FormState;(OverrideForm As TSCRavePreviewForm) ReportSystem := ReportSystem;End;omShow:BeginReportSystem SystemPreview InitPreview((OverrideForm As TSCRavePreviewForm) RvRenderPreview);If Assigned(ReportSystem OnPreviewSetup) ThenBeginReportSystem OnPreviewSetup((OverrideForm As TSCRavePreviewForm) RvRenderPreview);End; if (OverrideForm As TSCRavePreviewForm) InputFileName := ReportSystem SystemFiler Filename;(OverrideForm As TSCRavePreviewForm) InputStream := ReportSystem SystemFiler Stream;(OverrideForm As TSCRavePreviewForm) InitFromRPSystem;(* *)If soPreviewModal In ReportSystem SystemOptions ThenBeginOverrideForm ShowModal;EndElseBeginOverrideForm Show;End; else End;omWait:BeginIf Not (soPreviewModal In ReportSystem SystemOptions) ThenBegin// Wait for closeRepeatSleep( );Application ProcessMessages;Until Not OverrideForm Visible;End; if End;omFree:BeginIf (ReportSystem SystemFiler StreamMode In [smTempFile smFile]) ThenBegin(OverrideForm As TSCRavePreviewForm) RvRenderPreview NDRStream Free;(OverrideForm As TSCRavePreviewForm) RvRenderPreview NDRStream := Nil;End; if FreeAndNil(OverrideForm);End;End; case end;  6)编译运行这个项目 其打印预览窗口就会变成中文的了   备注 这种方式进行中文化不会受到RAVE版本升级的影响    .如何显示中文化的打印设置对话框?  1)拷贝C:\\Rave \\Source目录中的RpFormSetup pas和RpFormSetup dfm到对应的项目目录中   2)把RpFormSetup pas加入到对应的项目文件中 把对应窗体的名字从RPSetupForm更改为SCSetupForm 将文件RpFormSetup pas另存为SCFormSetup pas   3)把窗体SCSetupForm中的对应文字从英文更改为中文   4)在主窗体上加上 RvProject和 RvSystem部件 通过设定RvProject Engine为RvSystem 部件来把两者挂接   5)设置RvSystem部件的OverrideSetup事件过程为以下代码 procedure TForm RvSystem OverrideSetup(ReportSystem: TRvSystem;OverrideMode: TOverrideMode; var OverrideForm: TForm);begincaseOverrideMode ofomCreate:beginOverrideForm := TSCSetupForm Create(nil);//OverrideForm Caption := RvSystem TitleSetup;(OverrideForm as TSCSetupForm) ReportSystem := ReportSystem;end;omShow:beginwith OverrideForm as TSCSetupForm ReportSystem dobeginPreviewSetup := False;Aborted := ShowModal = mrCancel;end;end;omWait:beginbecause showModal: no wait necessary!end;omFree:beginOverrideForm Free;end;end;end;  6)编译运行这个项目 其打印设置对话框就会变成中文的了!  这种方式进行中文化不会受到RAVE版本升级的影响!对于其它对话框应该可以同法炮制吧!   .如何自已做预览窗口?  1)创建一个窗口 在上面放RvProject组件 RvNDRWriter组件 RvRenderPreview组件和ScrollBox组件 设定以下几个部件间的联系关系 RvProject Engine:=RvNDRWriter;RvRenderPreview ScrollBox:=ScrollBox;  2)设定RvNDRWriter filename为 demo ndr 进行预览的代码为 varNDRStream:TMemoryStream;begin//建立内存流NDRStream:=TMemoryStream Create //输出报表数据RvProject Execute //将报表数据调入内存流中供预览NDRStream LoadFromFile( demo ndr );//预览相应的报表 使用的是相应的内存流 RvRenderPreview Render(NDRStream);ShowButton();end;<! [if !supportEmptyParas] > <! [endif] >  要想在你的项目中很好的应用RAVE做好报表 更多的内容参考\\Rave \\Docs\\下的RAVE手册 <! [if !supportEmptyParas] > <! [endif] ><! [if !supportEmptyParas] > <! [endif] ><! [if !supportEmptyParas] > <! [endif] > cha138/Article/program/Delphi/201311/24719

相关参考

知识大全 Delphi 7 中使用RAVE报表(五)

Delphi7中使用RAVE报表(五)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Delph

知识大全 Delphi 7 中使用RAVE报表(三)

Delphi7中使用RAVE报表(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前面两篇向大

知识大全 Delphi 7 中使用RAVE报表(一)

Delphi7中使用RAVE报表(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近刚刚做完一

知识大全 Delphi 7 中使用RAVE报表(二)

Delphi7中使用RAVE报表(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!隔了好长时间终

知识大全 Delphi7中使用RAVE报表

Delphi7中使用RAVE报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近刚刚做完一个项目

知识大全 初识Rave

初识Rave  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  初识Rave  其实在Delphi发

知识大全 Delphi水晶报表打包解决

Delphi水晶报表打包解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!开发环境        

知识大全 用Delphi实现自己的Excel报表

用Delphi实现自己的Excel报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Excel是

知识大全 Delphi面向对象的编程方法(六)

Delphi面向对象的编程方法(六)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  字符串类型 

知识大全 经典案例 财务管理系统(7)[4]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //资产负债报表的生成和打印  procedureTmain