我有一个想法(不知可行否):定义一个boolean类型变量 如:flag当有消息产生时, flag:=1; if flag=1 then begin startdoc ........ enddoc flag:=0; end;
各位,这个问题是比较难解决的,首先如果使用激光或者喷墨打印是不能实现逐行打印(print line by line)的,如果是在WINDOWS系统下可以调用写LPT口的API但是很可惜她不支持中文,目前可以解决的办法就是在打印之前先确定打印内容的大小,然后根据这个大小去设置纸张就能够基本解决,不妨去试试。
begin
beginDoc;
canvas.Font.Name:='宋体';
canvas.Font.style:=[FsBold];
canvas.Font.size:=11;
canvas.Textout(100,120,'你要打的内容'); //100 距水平 120 距垂直
EndDoc;
end;
我亦苦思!
还有我对打印机的打印纸张进行自定义设置都不行!!!
我也是PDEVMODE中设置的
下面是一个简单的例子assignfile(f, ‘lpt1’);
rewrite(f);
writeln(f,str);
closefile(f);
flag:=1;
if flag=1 then
begin
startdoc
........
enddoc
flag:=0;
end;
1, 设置纸大小是一选择,但我设置了以后,只是打印范围被设置了,打印纸仍然
走A4,求高人help
2, 用TC2.0编程,调用汉字库是一个选择(在DElphi中用WinExec())
3, 用汇编是一个选择 其中,2,3肯定可以行的通,我打印英文完全没有问题!