quickreport一问,急!!!高手指点(50分)

  • 主题发起人 主题发起人 guchenyi
  • 开始时间 开始时间
G

guchenyi

Unregistered / Unconfirmed
GUEST, unregistred user!
用QUICKREPORT作了一张报表。可是当我在REPORT SETTING 里面设置成A4纸是可以调用默认打印机
打印的,但是,我想打那种医院的配药发票,其长度只有A4的一半左右,所以我设置成
Custom size,但是每次打印,就会弹出Printer selected is not valid,是怎么回事??
难道,用CUSTOM SIZE设置后,默认打印机就变了??
还有一问,就是医院发票需要连续打印,我该如何处理,而且我发现发票的位置实在是很难
对准,希望有经验者赐教。。。。
 
那直接在程序中指定打印纸的大小就行了.
另外你说的页边距,也可以在程序直接指定.
 
1、好象也得改打印机的设置,打印机默认纸张也应该是Custom size。
2、没办法,只好一点点量。
 
打印机默认改成自定义的,数值设置的大一些,否则不单QuickReport出错,FastReport也一样的。
是调用一个api崩叉的。
一看就知道你的是针式打印机,是不是Star的?这个驱动毛病就是多多
 
另外一个取决于你程序中设定的打印机纸张大小和控制面板里面的打印机的配合,还有打印机的驱动等很多问题。
反正很挠头的,我摸了几天后就扔掉了。
 
若在设计时用自定义纸纸,则凡是针打机的属性都要设成自定义纸张。
 
用case 语句把自定义纸张的长度和高度全列举出来,然后再调用即可。
 
请问cnsycb,case语句如何把自定义纸张的长度和高度全列出来,自定义不应该只能设一个值
吗?[blue][/blue][:)][:)]
 
给出一个我做的例子,先用一个COMBOBOX控件把所胡的纸张设好,V_i是该COMBOBOX控件的ITEMINDEX值
v_fx是纸张的方向。在打印前先选好这二个参数就行了。至于哪种纸张的大小,自己量一下就行了。
procedure TForm_cjb.paper(v_i,v_fx:integer);
begin
case v_i of
0:quickrep1.Page.PaperSize:=A4;
1:quickrep1.Page.PaperSize:=A3;
2:quickrep1.Page.PaperSize:=B4;
3:quickrep1.Page.PaperSize:=B5;
4:begin
//宽行打印纸
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=382;
quickrep1.Page.Width:=280;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=280;
quickrep1.Page.Width:=382;
end;
end;
5:begin
//窄行打印纸
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=280;
quickrep1.Page.Width:=241;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=241;
quickrep1.Page.Width:=280;
end;

end;
6:begin
//32开纸
{ quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=195;
quickrep1.Page.Width:=135;
case v_fx of
0:quickrep1.Page.Orientation:=poPortrait;
1:quickrep1.Page.Orientation:=poLandscape;
end;
}
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=195;
quickrep1.Page.Width:=135;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=135;
quickrep1.Page.Width:=195;
end;
end;
7:begin
//16开纸
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=270;
quickrep1.Page.Width:=195;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=195;
quickrep1.Page.Width:=270;
end;

end;
8:begin
//8开纸
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=390;
quickrep1.Page.Width:=270;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=270;
quickrep1.Page.Width:=390;
end;

end;
9:begin
//蜡纸
quickrep1.Page.Orientation:=poPortrait;
if v_fx=0 then
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=320;
quickrep1.Page.Width:=218;
end
else
begin
quickrep1.Page.PaperSize:=custom;
quickrep1.Page.Length:=218;
quickrep1.Page.Width:=320;
end;

end;
end;
end;
 
你在哪儿,我过去为你搞定!
 
后退
顶部