急!!!如何在windows下实现单行打印?200分双手奉上.......谢谢!!!!(200分)

  • 主题发起人 caixiang78
  • 开始时间
C

caixiang78

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在写一个超市前台收银程序中,遇到客户要求小票打印要单行打印,即输入一个商品
打印一条商品信息.
本人现用一个DOS程序暂时使用,虽然实现以上功能但在打印机缺纸时会出现错误(因为是
在windows下调用DOS程序的问题).能不能做到象windows那样缺纸时会出现缺提示窗口.
各位高手能不能解决DOS下缺纸错误或在windows下实现单行打印.
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,Printers;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
P:TextFile;
begin
AssignPrn(P);
reWrite(P);
writeln(P,'打印一行');
CloseFile(P);
end;

end.
 
panyongze你这种打印方法打印完一行后会自动进纸(长度为一个页间距),因为这种
打印模式是页打印,即每页打印一行。我需要实现的是行打印,即打印一行就立刻让打印
机停在下一行的位置,等待下一个打印任务。
 
将页间距设为零
 
TO:xinye
怎么将页间距设为零?请赐教!!
 
直接打开PRN文件,象在DOS下完全一样的做。
PRN,LPT1在WINDOWS下也是标准文件。
var prn : text ;
begin
assignfile(prn,'prn') ;
rewrite(prn) ;
writeln(prn,'Are you OK?') ;
close(prn) ;
end .
 
caixiang78
您的OICQ号码是多少,在那儿方便。
我的是:42354885
 
你可以参照panyongze做法,不要把P设为局部变量,可以在private里定义
这样,在此程序中都可使用。
writeln(P,'打印一行');
之后不要 CloseFile(P);
直到你认为打印完毕时,再CloseFile(P);
 
顶部