一个简单的报表打印问题(300 分相求,不断的加分....)这个问题,至今甚至没有人给出一点思路

Luckyfeeling 2001-06-08 10:17:00

我的报表打印在装有 win2000 或 nt 的电脑上可以使用网络打印机或者本地打印机正常
打印,但在装有 win98 的电脑上,则网络打印机或者本地打印机均不能打印,但预览是正确的,打印针头只是动了一下。另外,在win98 下 excel一直 能正常打印,表明 win98
下的驱动程序是没有问题的。我的程序里没有使用 api ,也没有使用数据绑定,报表打印是在 QuickRep的 OnNeedData事件里通过编程来实现的。代码部分如下
procedure TFrm.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if ii<10 then
begin
QRLabel2.Caption:=inttostr(II);
INC(II);
MOREDATA:=TRUE;
end;
end;
// ii 是全局变量 QRLabel2 要显示的 ii 在 onprint 事件里初始化代码如下:
procedure TFrm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
ii:=0;
end;

...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhenren 2001-06-18
  • 打赏
  • 举报
回复
宽为10CM。是很小的标签的样本,是连续套打的,我想随意控制走纸长度,但每次打印机都走A4长度的纸出来。不能体现自动化!!

zhangzhenren 2001-06-18
  • 打赏
  • 举报
回复
我也是遇到雷同的问题!我的打印机是EPSON LQ 1600K 的,QUICKREP 中我设为自定义长为6CM
Luckyfeeling 2001-06-13
  • 打赏
  • 举报
回复
这个问题虽然没有解决,但谢谢 xusir 的支持我还是要给分的
这个问题我还要提问,参与有分。
Luckyfeeling 2001-06-08
  • 打赏
  • 举报
回复
谢谢 xusir 大虾的参与也支持!
有些打印机不支持字定义纸张这个问题,我早注意到了。我的打印机是 Epson Kiii
它在 98 下支持本地和网络自定义纸张,但在 2000 下不行。
现在问题是,我的程序在 98 本地打印机上却一点都不打印自定义纸张,但程序若设为 a4
却正常打印。
现在我想问各位大虾,是不是
quickREp 根本就不支持自定义纸张呢,或者纯粹是骗人的!!
xusir_007 2001-06-08
  • 打赏
  • 举报
回复
这个有可能跟打印机的驱动程序有关。
我以前也是用QRP做的打印卡片,也是自定义纸张。
但在 HP 6L 打印机上能够正常打印,在Canon Lbp-660上就不能正常打印(按A4打印出来的)
发现在 HP 的打印机设置选项中, 纸张选项中有‘定义纸张’这一项,
而Canon这款打印机却没有。
Luckyfeeling 2001-06-08
  • 打赏
  • 举报
回复
我现在将 antking 大虾的解答给出,希望对大家有所帮助。不过,该问题还没有彻底的解决,
希望大家继续关注,踊跃发言!!
BeforePrint事件中设置
PrintReport:=true;
若还不行则在
if ii<10 then 和
QRLabel2.Caption:=inttostr(II);
两行中设断点跟踪进去找原因。
我的程序在WIN98,WIN2000,WINNT下都打印很正常,我也是使用ONNEEDDATE的
Luckyfeeling 2001-06-08
  • 打赏
  • 举报
回复
AntKing 大虾,谢谢你鼎立相助!!!
问题也就出现在我没有 书写 PrintReport:=true
现在在 98 下我可以打印
但是,问题还没有解决。QuickRep 好象不支持自定义纸张,当我的程序采用默认的 A4 打印
时,可以正常打印。A4 纸张的 length=297 width=210 units=mm
但当我自定义纸张时,pagesize=custom length=390 width=294 units=mm
时,在 win98 的电脑上仍然不打印,而在 win2000 的电脑上却能打印
不过,打出来的确实 A4 支的规格。
关于这个问题,我提问了三次,分数分别是 28 28 21 ,在这个问题上我准备花去 300 分,
不过,现在我却不能一下子给 300 分,可能是我的级别不够吧。我正在不断的挣分,不断的加分。
现在的28 分全部送给您,您可以在我另外两次的提问中给予答复。
衷心谢谢您的帮助,我希望 300 分全部送给您!!!!!
请继续关注给问题!!
谢谢!!!!!!!!!!
也敬请别的大虾参与,参与者都有分!!!!!

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧