打印机问题,请高手指点!!很烦恼的一个问题,可能很简单,望帮忙(10分)

  • 主题发起人 主题发起人 suwle
  • 开始时间 开始时间
S

suwle

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi的报表控件,怎么样在预览之后,正式打印之前,判断有无可用的打印机设备,是
否联接正常打印!!谢谢
 
要是只判断打印机是否连接正常简单:
var p:tprinter;
try
p:=tprinter.create;
except
showmessage('系统缺省打印机不可用或不存在');
end
 
可用CREATEFILE以PRN为文件名生成一个文件,检测返回值,若成功则打印机可用,否则显示打印机故障。生成关于PRN的文件句柄后,可象普通文件一样向文件写入内容,比如WRITE,写完后关闭文件。
//从并行端口读取打印机状态
function GetPrinterStatus:byte;
asm
MOV DX,$379;
IN AL,DX;
end;
//获取打印机是否出错
function CheckPrinter:boolean;
var
temp:byte;
begin
temp:=GetPrinterStatus;
Result:=not ( ((temp and $80)=0) //打印机忙
or ((temp and $20)<>0) //打印机缺纸
or ((temp and $10)=0) //打印机未联机
or ((temp and $08)=0) );
//打印机出错;
end;
 
后退
顶部