Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!nrl-cmf!cmcl2!brl-adm!adm!Michael_Krause.ROCH@xerox.com
From: Michael_Krause.ROCH@xerox.com
Newsgroups: comp.lang.pascal
Subject: Re: How to check for printer line status ?
Message-ID: <16335@brl-adm.ARPA>
Date: 29 Jun 88 13:42:33 GMT
Sender: news@brl-adm.ARPA
Lines: 40

Try this one on for size.  I put it together about a year ago and have found it
to work well in all situations I find myself in.  I'm currently using Turbo
Pascal 4.0


Function PrinterReady : Boolean;
  Var
    Ch : Char;
    IOStatus : Integer;
  Begin
    {$I-} Write (Lst,#0); {$I+}
    IOStatus := IOResult;
    If IOStatus <> 0 Then
    Begin
      GotoXY (1,25); ClrEol;
      Write ('Printer not ready !!   (Press any key to Abort)');
    End;
    Repeat
      {$I-} Write (Lst,#0); {$I+}
      IOStatus := IOResult;
    Until (IOStatus = 0) Or Keypressed;
    GotoXY (1,25); ClrEol;
    PrinterReady := IOStatus = 0;
  End;  { PrinterStatus }

The routine is be called something like this :

.
.
.
If PrinterReady Then
  PrintReports;
.
.
. 

Good luck

Mike Krause
716-483-9752