救命!!!!! 各位大侠 请教发票连续打印问题 我用quickreport 设计了纸张大小 可是老走纸如何控制打印机实现发票连续套打请给出具体代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是很熟悉,帮你up------------------------------------体验速度,体验CSDN论坛助手:http://community.csdn.net/Expert/TopicView.asp?id=4700683 打发票你还用什么QR,用PRINTER对象要比QR效果好! QuickReport不太熟,用FastReport做过,只要设好纸张大小是一张票据那么大就行了,当然连续打主要是高度,会根据设定的高度自动走纸的 user printersvar col,i,bh:integer; je,yje:double; Name :string;begin //打印 col:=0; je:=0; yje:=0; Printer.BeginDoc(); Printer.Canvas.Font.Name:='黑体'; Printer.Canvas.Font.Name:='system'; Printer.Canvas.Font.Style:=[fsBold]; Printer.Canvas.Font.Size:=14; Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY); Printer.Canvas.TextOut(550,1,trim(Name)+'商品进货清单'); Printer.Canvas.Font.Size:=10; Printer.Canvas.Font.Name:='宋体'; Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY); Printer.Canvas.TextOut(2,50,'供货单位:'+trim(adoquery1.fieldbyname('gysmc').asstring)+' 进货日期:'+datetostr(adoquery1.fieldbyname('rq').asdatetime)+' 单据号码:'+trim(adoquery1.fieldbyname('djh').asstring)+' 收货单位:'+trim(dp)); Printer.Canvas.TextOut(2,80,'----------------------------------------------------------------------------------------------------------------'); Printer.Canvas.TextOut(2,100,' 商品品牌 商品类型 商品名称 数量 单价 金额 备注'); Printer.Canvas.TextOut(2,130,'----------------------------------------------------------------------------------------------------------------'); Printer.Canvas.Font.Size:=10; Printer.Canvas.Font.Name:='宋体'; i:=0; adoquery1.First; while not adoquery1.Eof do begin Printer.Canvas.TextOut(35,160+col,trim(adoquery1.fieldbyname('pp').asstring)); Printer.Canvas.TextOut(190,160+col,trim(adoquery1.fieldbyname('lx').asstring)); Printer.Canvas.TextOut(370,160+col,trim(adoquery1.fieldbyname('mc').asstring)); Printer.Canvas.TextOut(710,160+col,trim(adoquery1.fieldbyname('sl').asstring)); Printer.Canvas.TextOut(810,160+col,trim(adoquery1.fieldbyname('jj').asstring)); Printer.Canvas.TextOut(910,160+col,trim(adoquery1.fieldbyname('jhje').asstring)); col:=col+30; i:=i+1; je:=je+adoquery1.fieldbyname('jhje').asfloat; yje:=yje+adoquery1.fieldbyname('jhje').asfloat; adoquery1.Next; if i=8 then begin if not adoquery1.Eof then begin Printer.Canvas.Font.Name:='宋体'; Printer.Canvas.Font.Size:=10; Printer.Canvas.TextOut(5,420,'----------------------------------------------------------------------------------------------------------'); Printer.Canvas.TextOut(10,450,'每页金额合计: '+formatfloat('0.00',yje)); Printer.Canvas.TextOut(10,480,'1.此单仅作结款凭证,不作其它用途 2.以上价格均为:口含税价 口不含税价'); Printer.Canvas.TextOut(10,510,'3.结款方式:口转帐 口现金 4.此单盖章有效,否则不予结款。'); Printer.Canvas.TextOut(10,540,'制单:'+trim(adoquery1.fieldbyname('num').asstring)+' 业务:'+trim(adoquery1.fieldbyname('cgr').asstring)+' 收货人: 仓管:'); Printer.NewPage; col:=0; Printer.Canvas.Font.Name:='黑体'; Printer.Canvas.Font.Name:='system'; Printer.Canvas.Font.Style:=[fsBold]; Printer.Canvas.Font.Size:=14; Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY); Printer.Canvas.TextOut(550,1,trim(Name)+'商品进货清单'); Printer.Canvas.Font.Size:=10; Printer.Canvas.Font.Name:='宋体'; Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY); Printer.Canvas.TextOut(2,50,'供货单位:'+trim(adoquery1.fieldbyname('gysmc').asstring)+' 进货日期:'+datetostr(date)+' 单据号码:'+trim(adoquery1.fieldbyname('djh').asstring)+' 收货单位:'+trim(dp)); Printer.Canvas.TextOut(2,80,'----------------------------------------------------------------------------------------------------------------'); Printer.Canvas.TextOut(2,100,' 商品品牌 商品类型 商品名称 数量 单价 金额 备注'); Printer.Canvas.TextOut(2,130,'----------------------------------------------------------------------------------------------------------------'); yje:=0; i:=0; end; end; end; Printer.Canvas.Font.Name:='宋体'; Printer.Canvas.Font.Size:=10; Printer.Canvas.TextOut(5,420,'----------------------------------------------------------------------------------------------------------'); Printer.Canvas.TextOut(10,450,'总金额合计: '+formatfloat('0.00',je)); Printer.Canvas.TextOut(10,480,'1.此单仅作结款凭证,不作其它用途 2.以上价格均为:口含税价 口不含税价'); Printer.Canvas.TextOut(10,510,'3.结款方式:口转帐 口现金 4.此单盖章有效,否则不予结款。'); Printer.Canvas.TextOut(10,540,'制单:'+trim(adoquery1.fieldbyname('num').asstring)+' 业务:'+trim(adoquery1.fieldbyname('cgr').asstring)+' 收货人: 仓管:'); Printer.EndDoc();end;爱心相助! 用PRINTER对象,不要用报表!或者直接向端口写打印机指令! 把打印机换成平推针式的,推荐epson 630K。可以一次打7联。 Delphi 动态生成TreeView 有没有Delphi调试增强工具 文件删除 一个简单序号的问题,我的问题从来都是一解决就给分的! [提问]请问哪里有象记账凭证现金输入式的控件?! 谢谢。 非常怪异的一个问题,搞糊涂了!! 如何实现wwDbGrid的这项功能??????????? 向各位高手,delphi中询求有关单据设计和打印的程序??? 谁可以提供一些关于新闻组编程的资料! 超级难题,如何实现Image的任意角度的旋转。 调用浏览器的问题 Delphi2005怎么创建ActiveXForm(ocx)?
------------------------------------
体验速度,体验CSDN论坛助手:http://community.csdn.net/Expert/TopicView.asp?id=4700683
col,i,bh:integer;
je,yje:double;
Name :string;
begin
//打印
col:=0;
je:=0;
yje:=0;
Printer.BeginDoc();
Printer.Canvas.Font.Name:='黑体';
Printer.Canvas.Font.Name:='system';
Printer.Canvas.Font.Style:=[fsBold];
Printer.Canvas.Font.Size:=14;
Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY);
Printer.Canvas.TextOut(550,1,trim(Name)+'商品进货清单');
Printer.Canvas.Font.Size:=10;
Printer.Canvas.Font.Name:='宋体';
Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY);
Printer.Canvas.TextOut(2,50,'供货单位:'+trim(adoquery1.fieldbyname('gysmc').asstring)+' 进货日期:'+datetostr(adoquery1.fieldbyname('rq').asdatetime)+' 单据号码:'+trim(adoquery1.fieldbyname('djh').asstring)+' 收货单位:'+trim(dp));
Printer.Canvas.TextOut(2,80,'----------------------------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(2,100,' 商品品牌 商品类型 商品名称 数量 单价 金额 备注');
Printer.Canvas.TextOut(2,130,'----------------------------------------------------------------------------------------------------------------');
Printer.Canvas.Font.Size:=10;
Printer.Canvas.Font.Name:='宋体';
i:=0;
adoquery1.First;
while not adoquery1.Eof do
begin
Printer.Canvas.TextOut(35,160+col,trim(adoquery1.fieldbyname('pp').asstring));
Printer.Canvas.TextOut(190,160+col,trim(adoquery1.fieldbyname('lx').asstring));
Printer.Canvas.TextOut(370,160+col,trim(adoquery1.fieldbyname('mc').asstring));
Printer.Canvas.TextOut(710,160+col,trim(adoquery1.fieldbyname('sl').asstring));
Printer.Canvas.TextOut(810,160+col,trim(adoquery1.fieldbyname('jj').asstring));
Printer.Canvas.TextOut(910,160+col,trim(adoquery1.fieldbyname('jhje').asstring));
col:=col+30;
i:=i+1;
je:=je+adoquery1.fieldbyname('jhje').asfloat;
yje:=yje+adoquery1.fieldbyname('jhje').asfloat;
adoquery1.Next;
if i=8 then
begin
if not adoquery1.Eof then
begin
Printer.Canvas.Font.Name:='宋体';
Printer.Canvas.Font.Size:=10;
Printer.Canvas.TextOut(5,420,'----------------------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(10,450,'每页金额合计: '+formatfloat('0.00',yje));
Printer.Canvas.TextOut(10,480,'1.此单仅作结款凭证,不作其它用途 2.以上价格均为:口含税价 口不含税价');
Printer.Canvas.TextOut(10,510,'3.结款方式:口转帐 口现金 4.此单盖章有效,否则不予结款。');
Printer.Canvas.TextOut(10,540,'制单:'+trim(adoquery1.fieldbyname('num').asstring)+' 业务:'+trim(adoquery1.fieldbyname('cgr').asstring)+' 收货人: 仓管:'); Printer.NewPage;
col:=0;
Printer.Canvas.Font.Name:='黑体';
Printer.Canvas.Font.Name:='system';
Printer.Canvas.Font.Style:=[fsBold];
Printer.Canvas.Font.Size:=14;
Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY);
Printer.Canvas.TextOut(550,1,trim(Name)+'商品进货清单'); Printer.Canvas.Font.Size:=10;
Printer.Canvas.Font.Name:='宋体';
Printer.Canvas.Font.PixelsPerInch:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY);
Printer.Canvas.TextOut(2,50,'供货单位:'+trim(adoquery1.fieldbyname('gysmc').asstring)+' 进货日期:'+datetostr(date)+' 单据号码:'+trim(adoquery1.fieldbyname('djh').asstring)+' 收货单位:'+trim(dp));
Printer.Canvas.TextOut(2,80,'----------------------------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(2,100,' 商品品牌 商品类型 商品名称 数量 单价 金额 备注');
Printer.Canvas.TextOut(2,130,'----------------------------------------------------------------------------------------------------------------');
yje:=0;
i:=0;
end;
end;
end;
Printer.Canvas.Font.Name:='宋体';
Printer.Canvas.Font.Size:=10;
Printer.Canvas.TextOut(5,420,'----------------------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(10,450,'总金额合计: '+formatfloat('0.00',je));
Printer.Canvas.TextOut(10,480,'1.此单仅作结款凭证,不作其它用途 2.以上价格均为:口含税价 口不含税价');
Printer.Canvas.TextOut(10,510,'3.结款方式:口转帐 口现金 4.此单盖章有效,否则不予结款。');
Printer.Canvas.TextOut(10,540,'制单:'+trim(adoquery1.fieldbyname('num').asstring)+' 业务:'+trim(adoquery1.fieldbyname('cgr').asstring)+' 收货人: 仓管:');
Printer.EndDoc();end;爱心相助!
或者直接向端口写打印机指令!