RAVE报表问题(100分)

  • 主题发起人 主题发起人 hcxfman
  • 开始时间 开始时间
H

hcxfman

Unregistered / Unconfirmed
GUEST, unregistred user!
在试用RAVE时,遇到如下问题:
①尝试多次无法找到打印页号选项
②在报表布局已确定(即已生成*.rav文件)的情况下,如何在程序运行过程中
动态调整打印纸张大小,如改变打印纸张的上界TOP、左界LEFT等设置。
③打印过程中无法打印所选页,无论选择All、Selection或Pages,在选择部
分页打印无法实现,只能打印全部(All)。
④打印预览界面之菜单项目、工具栏等可否通过某些设置来定制或汉化。
 
你要解决的前面3个问题大体上应该可是通过设置RvSystem的属性来实现,至于第4个,可能要通过一些汉化工具对RAVE编辑器进行汉化。
 
不要自寻烦恼了,换fastreport或reportmachine
 
谢谢u的指点,还请您说得具体一些,因为我曾经尝试过多次修改RvSystem的属性,
可惜一直没有成功!最好写一段简短的代码或注释!谢谢!
 
Why I can't get more answer?
 
because no more people use RAVE!
 
RvSystem可以设置
界面修改的问题,我已经回答过了,是要修改RVPREV的界面文件
在RAVE目录下
 
好象journer的话没有讲完,请journer继续为兄弟讲解一下,非常感谢!
 
我也初学RAVE,请各位高手多指教!
 
我的问题已解决一半,①④已经有答案了,请大家关注一下②③如何解决。
  ②在报表布局已确定(即已生成*.rav文件)的情况下,如何在程序运行过程中
动态调整打印纸张大小,如改变打印纸张的上界TOP、左界LEFT等设置。
③打印过程中无法打印所选页,无论选择All、Selection或Pages,在选择部
分页打印无法实现,只能打印全部(All)。
  谢谢大家!
 
楼主问题有没有解决呀?
解决了,告诉兄弟们一声呀
 
①④是怎么解决的? 拿出来大家看看[:D]
 
我还是觉得不要用那个Rave好点
Qreport不是挺好的吗??
 
很抱歉,近期没有时间研究Delphi,上大富翁也少了,所以回复迟了,请见谅!
下面我将自己的解决1、4之方面写出来,仅供参考!
1、打开RAVE,在完成主体设计后,在DATAVIEW1REGION1下方添加一个REGION组件
(修改其尺寸为合适高度),并在其中放一DATATEXT组件,然后选中刚加入的
DATATEXT,修改其DATAFIELD属性,如可更改为"第" + Report.CurrentPage + "
页",即可显示“第1页”...
4、修改DELPHI安装目录下之RAVE/LIB目录下RpFormSetup.dfm、
RpFormPreview.dfm二文件中有关英文为对应中文即可。
2、3仍未有结果。
以上说明如有不当之外,敬请高手指正。
 
不错,学习
 
fastreport不错,可怎么调用?show...?tjlqp@sina.com
 
我也是初学rave,不知道如何设置参数,及传递参。请回答??????
 
如何显示中文化的打印预览对话框
拷贝C:/Rave5/Source目录中的RpFormPreview.pas和RpFormPreview.dfm到对应的项目目录中。
把RpFormPreview.pas加入到对应的项目文件中,把对应窗体的名字从RavePreviewForm更改为SCRavePreviewForm;将文件RpFormPreview.pas另存为SCFormPreview.pas。
把窗体SCRavePreviewForm中的对应文字从英文更改为中文。
在主窗体上加上 RvProject和 RvSystem部件,通过设定RvProject.Engine为RvSystem部件来把两者挂接。
设置RvSystem部件的OverridePreview事件过程为以下代码:
procedure TForm1.RvSystem1OverridePreview(ReportSystem: TRvSystem;
OverrideMode: TOverrideMode;
var OverrideForm: TForm);
begin
Case OverrideMode Of
omCreate:
begin
OverrideForm := 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:
begin
ReportSystem.SystemPreview.InitPreview((OverrideForm As TSCRavePreviewForm).RvRenderPreview);
If Assigned(ReportSystem.OnPreviewSetup) then
begin
ReportSystem.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 then
begin
OverrideForm.ShowModal;
End
else
begin
OverrideForm.Show;
end;
{ else
}
end;
omWait:
begin
If Not (soPreviewModal In ReportSystem.SystemOptions) then
begin
// Wait for close
Repeat
Sleep(250);
Application.ProcessMessages;
Until Not OverrideForm.Visible;
end;
{ if }
end;
omFree:
begin
If (ReportSystem.SystemFiler.StreamMode In [smTempFile, smFile]) then
begin
(OverrideForm As TSCRavePreviewForm).RvRenderPreview.NDRStream.Free;
(OverrideForm As TSCRavePreviewForm).RvRenderPreview.NDRStream := Nil;
end;
{ if }
FreeAndNil(OverrideForm);
end;
end;
{ case }
end;

编译运行这个项目,其打印预览窗口就会变成中文的了!
备注:这种方式进行中文化不会受到RAVE版本升级的影响!
 
难道就没有解决②③问题了么,这是不是Rave的BUG,我也是Rave的初学者,还望专家能给与指点,小弟感恩不尽!!
 
后退
顶部