//从并行端口读取打印机状态 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;
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;
Canvas 当前页的画布
Fonts 打印机所支持的字体列表
Handle 代表打印机句柄的唯一数字
Orientation 确定水平还是垂直打印
PageHeight 打印页面的高度(象素)
PageWidth 打印页面的宽度(象素)
PageNumber 打印页的编号,其值随每次调用TPrinter.NewPage()递增
PrinterIndex 表示从用户系统的可选打印机中选择打印机序号
Printers 系统中可选打印机的列表
Title 显示在打印管理器和被编目页中的文字-----------
TPrinter的方法Abort 中止一个打印作业
BeginDoc 开始一个打印作业
EndDoc 结束一个打印作业(EndDoc 是当打印完成后结束打印作业,而
Abort是在打印完成之前中止打印作业)
GetPriter 获得当前打印机的序号
NewPage 强迫打印机开始打印新的一页并使PageCount 加 1
SetPrinter指定一打印机为当前打印机
或 DeviceCapabilities()
PDevice:PChar;
PDriver:PChar;
PPort :PChar;
HDMode :THandle;
begin
GetMem(PDevice,cchDeviceName);
GetMem(PDriver,MAX_PATH);
GetMem(PPort,MAX_PATH);
Printer.GetPrinter(ADevice,Adriver,Aport:PChar;var ADeviceMode:THandle);
Label1.Caption :=PDevice;
Label2.Caption :=PDriver;
Label3.Caption :=PPort;
end;
試試!