一行一行记录打印(300分)

  • 主题发起人 主题发起人 zm001
  • 开始时间 开始时间
Z

zm001

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
我的出库单打印要求是这样的:一个出库单上有多个出库项目,在出库登记表单中输入
一个出库项目的各项值,如入库单号、产品类别、规格、数量、日期等后,按确认键和打印
键在打印纸上打出一行记录,要判断要打印的这次记录与上一次的记录是不是同一个出库单
号,如是,接着打印;如不是,走纸打印表头和记录。请各位赐教如何实现。谢谢!
 
自己写打印程序,不要想直接用报表控件实现。
 
分组解决。
 
利用TPrinter对象,自己编写打印程序。
 
你可以等到记录不是同一个出库单号才一起打印,这样不是很简单吗.
 
先把记录分组,再依次打印。
 
1.利用TPrinter对象,自己编写打印程序。
2.先成批录入然后把记录分组,再依次打印。
 
如果是套打采用:
利用tprinter对象,向打印机输入记录,输一条,打一条,
当第二条记录与第一条不在同一组时结束打印,否则继续
输出到打印机。
如果是带格式打印:
利用quickreport输出。
 
还是按出库单号分组这个方案比较好
 
300分,我还是想要用TPrinter对象打印的具体一点的指点。
 
用分组打印方便的多,我们刚做完一个这样的程序
 
可以通过修改自定义纸张大小来实现一行一行打印,即把纸高设置为一行的高度。
 
自定义纸张是个简单有效的办法
 
同意caixiang78简单方便
 
随便问一下如何所见即所得的打印?
 
写一个函数
判断是否同一条记录

用AssignPrn()函数转向打印机到文件,打印你想要的内容
记录打印的总行数,

打印剩下的行数
打印下页的表头
 
我的打印机是EPSON 210PD的没有硬字库的小票打印机。
1.这种方法怎样做才不会走纸?
var
TF: TextFile;
begin
AssignPrn(TF);
Rewrite(TF);
Write(TF,'´打印内容。');
CloseFile(TF);
end;
2、这样方法又怎样才可以打印汉字?
var
TF :TextFile;
begin
AssignFile( TF, 'LPT1' );
ReWrite( TF );
Write( TF, '打印内容。' );
CloseFile( TF );
end;
哪你老兄有办法的话请联系:Email:XdxDaxiong@163.com QQ:59745865
 
后退
顶部