针式打印机在日常办公中仍大量使用,它不像激光或喷墨打印机,可以自动开始打印,所以在开始打印文档前,必须要手动联机。常用办公软件不具备自动联机功能,如何编程控制打印机自动联机,免去“举手之劳”呢?下面通过在Delphi中调用汇编语言实现。

在窗体中添加一个按钮控件Button1和一个标签控件Label1,设置Button1的Caption为“自动联机”,Label1的Caption为“注意:自动联机将清除正在打印的文档”。
Procedure Tform1.Button1Click(Sender: TObject);
Begin
Asm
// 设置打印口为LPT1
mov dx, 0H;
// 初始化打印机
mov ah, 01H;

// 功能调用
int 17H;
end;
end;
说明:运行程序后,单击按钮,无论打印机当前状态如何,都能够保证自动联机,同时清空打印机缓冲区,使打印头复位。