知识大全 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相关参考
Delphi7中使用RAVE报表(五) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Delph
Delphi7中使用RAVE报表(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前面两篇向大
Delphi7中使用RAVE报表(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近刚刚做完一
Delphi7中使用RAVE报表(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!隔了好长时间终
Delphi7中使用RAVE报表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近刚刚做完一个项目
初识Rave 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 初识Rave 其实在Delphi发
Delphi水晶报表打包解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!开发环境
用Delphi实现自己的Excel报表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Excel是
Delphi面向对象的编程方法(六) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 字符串类型
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> //资产负债报表的生成和打印 procedureTmain