delphi 4中为什么不能设置打印范围?(QuickRep)(30分)

  • 主题发起人 主题发起人 Mary
  • 开始时间 开始时间
M

Mary

Unregistered / Unconfirmed
GUEST, unregistred user!
我看见论坛上的已答问题:
Delphi 3 中 QReport 如何设定打印范围,就像Word中一样.

的答案:

你可以放一个TPringDialog在Form上,用来设置报表打印
参数, 设置结果写到TQuickRep的PrinterSettings里就行了:

QuickRep1.Prepare;
PrintDialog1.MinPage := 1;
PrintDialog1.MaxPage := QuickRep1.PageNumber;
PrintDialog1.Options := PrintDialog1.Options + [poPageNums, poSelection];
if PrintDialog1.Execute then

begin

QuickRep1.PrinterSettings.FirstPage := PrintDialog1.FromPage;
QuickRep1.PrinterSettings.LastPage := PrintDialog1.ToPage;
QuickRep1.PrinterSettings.Copies := PrintDialog1.Copies;
QuickRep1.Print;

end;



但是在Delphi 4中却通不过? What's the probrom?
 
What's probrom? ;)
let me try and tell u
 
是什么版本的delphi4?
 
CJ:
我的delphi4版本:4.0.5.37
 
Another_eYes:
我的delphi4版本:4.0.5.37

难道没有人能回答吗?救命!
 
编译通不过还是运行有错物,
 
CJ:
运行有错误,就是如果我不加
PrintDialog1.Options := PrintDialog1.Options + [poPageNums, poSelection];

打印对话框会出现,否则就不出现。
 
各位高手都没碰到过这个问题吗?
 
前半部分更改如下:
QuickRep1.Prepare;
PrintDialog1.MinPage := 1;
PrintDialog1.FromPage := 1;
PrintDialog1.MaxPage := QuickRep1.Printer.PageCount;
PrintDialog1.ToPage := QuickRep1.Printer.PageCount;
PrintDialog1.Options := PrintDialog1.Options + [poPageNums, poSelection];

记住, 如过设定poSelection, 在Execute之前必须给定frompage和topage
的值.否则不给执行.
 
(delphi4)假定每一条记录为一页,在浏览时全部记录都显示!
我想只显示当前记录,如何处理(Qreport)?
 
有一个属性叫做PAGE,他有OPMAGIN等属性可以使用

 
Seakey:

不论用QuickRep1.Printer.PageCount还是QuickRep1.PageNumber,在QuickRep1的prepare后值还是0,是什么原因?

我发现改程序为
PrintDialog1.MaxPage :=5;
PrintDialog1.ToPage :=5;

就可以正常运行了。

但PageNumber就是取不出来。

请大师继续帮忙



 
咦? 我用Delphi 4 做了试验, 好象可以取出QuickRep1.Printer.PageCount;
一切都很正常, 我用的是Delphi 5 5.37+Update #2,
如果需要我的例子, 可以向我要. mail: sea.sky@990.net,
 
hi, seakey

我的delphi4版本:4.0.5.37,我先试一下升级。

(这网对我太难连了,经常问题显示到一半就完完了)
 
seasky的方法是对的, 下面mary的说法不正确.


>>我发现改程序为
>> PrintDialog1.MaxPage :=5;
>> PrintDialog1.ToPage :=5;

>> 就可以正常运行了。
 
接受答案了.
 
后退
顶部