在CCED中实现打印机初始化和换页功能的小程序
/*文件名:Chpage.c*/#include <dos.h>/*初始化打印机函数*/P-initprn (){union REGS r,j; r.h.ah==1; r.x.dx=0; int86(0x17,&r,&j);}/*换页函数*/char P-chpage (char ch){union REGS r,j; r.h.ah=0 r.h.al=ch; r.x.dx=0; int 86(0x17,&r,&j);}/*读打印机状态*/P-readprn (){union REGS r,j; r.h.ah=2; r.x.dx=0; int86(0x17,&r,&j); return(j.h.ah&0x08);}/*主函数*/main(){if (P rcadprn()){P-initprn(); P-chpage(0c);}/*打印一个换页字符0c或12d*/ else P-chpage(0c);}需要说明的是,该文件经编译、连接后只能形成一个EXE文件,实现打印机换页功能,取名为CHPAGE.EXE;而对打印机初始化时需另编一个文件,在文件的主函数中调用CHPAGE.EXE文件中的P-initprn()函数,经过编译、连接形成EXE文件,取名为INITPRN.EXE。
最后,进入CCED子目录中,启动CCED,调入CCED 50.PRO,找到文本菜单的“从当前行打印”处,将“def C-P=[Print]{K}修改为“def C-P=[Dos]Initprn^M^M[Print][Dos]'Chpage^M^M'{K}@:从当前行开始打印”,存盘,退出CCED(有关操作命令,详见《CCED用户手册》)。这样,就可在以后用CCED进行字表编辑中,使“从当前行开始打印”实现了对打印机的初始化和打印完毕打印机自动换页功能。