home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / insidetp / 1990_01 / printchk.pas < prev    next >
Pascal/Delphi Source File  |  1989-12-15  |  859b  |  49 lines

  1. PROGRAM PrintChk;
  2. USES Crt,Dos,Printer;
  3. CONST
  4.   LPT1 = 0;
  5.   LPT2 = 1;
  6.   LPT3 = 2;
  7.   PrnReady = $90;
  8.   Offline = $00;
  9.   PaperOut = $20;
  10.   NoConnect = $C0;
  11.  
  12. FUNCTION ChkPrinter(Printer : Word) : Word;
  13. VAR Regs:Registers;
  14.  
  15. BEGIN
  16.   Regs.AH:=2;
  17.   Regs.DX:=Printer;
  18.   Intr($17,Regs);
  19.   ChkPrinter:=Regs.AH
  20. END;
  21.  
  22. PROCEDURE PrinterError(ErrorCode : Word);
  23. BEGIN
  24.  CASE ErrorCode OF
  25.   NoConnect: WriteLn('Printer not connected');
  26.   Offline  : WriteLn('Printer off line');
  27.   PaperOut : WriteLn('Printer out of paper');
  28.  ELSE
  29.   WriteLn('Printer error code: ',ErrorCode);
  30.  END
  31. END;
  32.  
  33. PROCEDURE TryPrinter;
  34. BEGIN
  35.  {$I-}
  36.  WriteLn(Lst,'Check Printer'+#12);
  37.  {$I+}
  38.  WriteLn(IOResult)
  39. END;
  40.  
  41. BEGIN
  42.  ClrScr;
  43.  {TryPrinter;}
  44.  IF ChkPrinter(LPT1)=PrnReady THEN
  45.   WriteLn('Printer is Ready')
  46.  ELSE
  47.   PrinterError(ChkPrinter(LPT1))
  48. END.
  49.