如何确保打印前自动联机 辽宁 王红军 谢玉芬 1996-09-27 ;PRNON.ASM CODE SEGMENT PROG PROC FAR ;定义远过程 ASSUME CS:CODE,DS:CODE,SS:CODE PUSH DS ;保存重要寄存器 PUSH DX PUSH AX MOV DX,00H ;设置打印口为LPT1 MOV AH,01H ;初始化打印机 INT 17H ;功能调用 POP AX ;恢复原寄存器内容 POP DX POP DS RETF ;远程返回 PROG ENDP CODE ENDS END PROG 把上面的汇编程序经过编译、连接,再用EXE2BIN转换为二进制文件PRNON.BIN。由于程序很小,所以也可以通过DEBUG的小汇编A命令直接输入程序的主体部分,也能形成PRNON.BIN二进制文件。这样就可以在FOXBASE或FOXPRO等系统调用了。 …… LOAD PRNON &&装载二进制文件 CALL PRNON &&调用二进制文件 KEY=INKEY(5) &&因初始化时打印头需动作,故此时需几秒钟的延迟 SET PRINT ON &&联机 SET DEVICE TO PRINT &&磁盘内容输出到打印机 …… 将上述几条命令加入打印程序的前面,无论打印机的当前状态如何,都能够确保在打印前自动联接打印机。它能够将打印机缓冲区中的残留数据清空,具有仿真WPS打印功能的效果。程序执行时,我们可以看到打印头从当前位置回到初始位置,并伴有复位动作声和联机信号的鸣叫声。有兴趣的读者不妨把它加到自己的程序中,同时也可以把这个功能扩展到其它语言编写的程序中,如C语言、PASCAL语言等。