微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题使打印机进纸退纸的外部命令
栏目外设类维护与维修
作者国防科大 陈德明
发布1993-07-23
  为了解决这种不便,可以用程序方法实现打印纸的任意进退。我们知道,设置打印机正向走纸的指令是FSF,控制码为CHR$(28)+"F",设置打印机反向走纸的指令是FSR,控制码为CHR$(28)+"R",使打印机走一空行是向打印机发送字符CHR$(10)来实现。据此,可以编一个C语言小程序LF.C,经编译链接形成外部命令文件LFEXE。程序设计命令行参数,存放欲走纸的行数,正数为进纸,负数为退纸,这样,随时可以用命令LF[+/-]number使打印机走纸number行。
  源程序LF.C列于文末。其执行过程是:先检查命令行参数,如果有误则报错;然后判断走纸行数是否为负,若是,则设置打印机为反向走纸方式;然后走纸若干行,最后将打印机恢复成惯用的正向走纸方式。
  C>TYPE LF.C>PRN
  #include<stdio.h>
  #include<stdlib.h>
  #include<string.h>
  main(int argc,char argv[])
  {
  int n,m;
  FILEF;
  m=1;
  n=1;
  if(argc>1){
  m=strlen(argv[1]);
  n=atoi(argv[1]);
  }
  if(n==0‖m>4‖argc>2)
  {
  puts("**********");
  puts("*printerLineFeed*");
  puts("*********\n");
  puts("Parametererrorornum
  bertooLarge!\n");
  puts("Usage:LF[+/-]number(-999to9999)\n");
  exit(1);
  }
  Printf("Paperadvances%5dLines",n);
  m=n;
  f=fopen("PRN","W");
  if(f){
  if(n<0){
  m=-n;
  putc(28,f);putc(`R`,f);
  }
  for(n=1;n<=m;n++)putc(10,f);
  putc(28,f);putc(`F`,f);
  }
  }(国防科大 陈德明)