目前采用打印的方式:
printer.BeginDoc;//定义打印范围:
OutRect.Left:=mmToPix(Sleft+VLeft,true);
OutRect.Top:=mmToPix(STop+vtop,false); // +CCC
OutRect.Bottom:=OutRect.Top+LineHeight;
OutRect.Right:=mmToPix(Sleft+VLeft+Vlen,true);//在指定范围打印内容:
printer.Canvas.TextRect(OutRect,OutRect.Left,OutRect.Top,PrintCon[i]);printer.EndDoc;票据大小:23X12.4CM
相同的票据想连续打印多份(内容相同),不知道如何实现?使用过dmPaperSize设置过大小,失败!设置过打印机自定义纸张大小,但针式打印机好象不起作用。用激光打印机设置,感觉如果调用:printer.EndDoc;就走纸。呵呵,如果解决,分不够可以加到100以上!
解决方案 »
- FastReport 4 VCL Enterprise Edition: 4.12.6
- Delphi 编程技巧常见实例问答
- 取上个月和上一年的数据,sql怎么写?
- 写在大学毕业的第6个年头
- 如何在DELPHI中以隐含方式打开PowerPoint文稿
- 那位知道广州去海南三亚有多远,一般乘坐什么交通工具
- 为什么关闭一张空的ADO表的时候会报错?
- 一个小问题:数据库表的字段是英文的,怎样在Grid里显示中文字段名?
- 购买酒店管理源码
- 有没有显image字段的图像列表控件, 谁能解决!!!!
- 关于求某一字段的总和的问题~
- 请问 一个 初学 GLScene 控件的问题 !!!!!!!!!!!!!!! 急!!!!!!!!!!!!
......
for i:=0 to N-1 do
printer.Canvas.TextRect(OutRect,OutRect.Left,OutRect.Top,PrintCon[i]);
printer.EndDoc
就可以了,否则打印到同一个地方了;如果是打印多份到不同的纸上,那么就把你的
printer.BeginDoc;
……
printer.EndDoc;
整个放到一个循环体内就可以了,循环的次数就是你想打印的份数。
《调试》 《发送错误报告》 《不发送》点击《不发送》连续出现3,4次这个提示,接着出现“Run Error 216 at 004c26EE"
而且这个错误,有时候有,有时候没有。。真郁闷死了!根本不知道从哪找这个错误!!!!
特别是:同样的程序在U盘里咋操作都不出现这个错误!到硬盘出现就很频繁!而且时有时没有!
这个疑难更挠头!!!!!!!!!!!谁遇到过?指点一二?
查找问题: SQLCir:='delete * FROM '+gUseTable;
DM.ADOCmd.CommandType:=cmdTEXT;
DM.ADOCmd.CommandText:=SqlCir;
DM.ADOCmd.Execute;
用ADO连接ACCESS数据库,发现凡是执行“delete * from DBname“,
当关闭程序时就出现这个错误,但为何以前没有呢?
目前是这样的~~~~
继续探讨连续打印问题,今天试试了,结果如下:
如果连续打印内容的页高总和小于设置的打印纸高度,可以连续打印,直到把此页打印完毕。
否则只打印一页。
代码如下:(有所删减,便于阅读)printer.BeginDoc;for j:=1 to ConPage do begin {conPage是连续打印份数} Stop:=Stop+(j-1)*LpageHeight; {LpageHeight是将打印的每页高度,Stop是打印顶距} DM.ADOQ.First;
while not DM.ADOQ.Eof do begin OutRect.Left:=mmToPix(Sleft+VLeft,true);
OutRect.Top:=mmToPix(STop+vtop,false); // +CCC
OutRect.Bottom:=OutRect.Top+LineHeight;
OutRect.Right:=mmToPix(Sleft+VLeft+Vlen,true); printer.Canvas.TextRect(OutRect,OutRect.Left,OutRect.Top,PrintCon[i]); DM.ADOQ.Next;
end;//while for ALL DB
end;//for jprinter.EndDoc;现在的问题是,如果打印的内容超过打印的一页(一般是A4纸大小),怎么连续打印?
是针式的,Citizen 230现在要通过程序来控制。
继续探讨连续打印问题,今天试试了,结果如下:
如果连续打印内容的页高总和小于设置的打印纸高度,可以连续打印,直到把此页打印完毕。
否则只打印一页。
代码如下:(有所删减,便于阅读)printer.BeginDoc;for j:=1 to ConPage do begin {conPage是连续打印份数} Stop:=Stop+(j-1)*LpageHeight; {LpageHeight是将打印的每页高度,Stop是打印顶距} DM.ADOQ.First;
while not DM.ADOQ.Eof do begin OutRect.Left:=mmToPix(Sleft+VLeft,true);
OutRect.Top:=mmToPix(STop+vtop,false); // +CCC
OutRect.Bottom:=OutRect.Top+LineHeight;
OutRect.Right:=mmToPix(Sleft+VLeft+Vlen,true); printer.Canvas.TextRect(OutRect,OutRect.Left,OutRect.Top,PrintCon[i]); DM.ADOQ.Next;
end;//while for ALL DB
end;//for jprinter.EndDoc;现在的问题是,如果打印的内容超过打印的一页(一般是A4纸大小),怎么连续打印?继续请教,应该不是难题吧?