{ I am writing a Program that Uses the Printer to (whatelse?) print out a report. Now, the problem that I am having is that the Printer Function in TP 6.0 (ie Writeln (lst,'BLA BLA BLA');) Dosn't check For errors (if the Printer is not on, or is not online) You can determine the Various states of the Printer With Intr 17H - Function 02H. The value returned in AH will be: bit if set 0 - Printer timed out 1 - unused 2 - unused 3 - i/o error 4 - Printer selected 5 - out of paper 6 - Printer acknowledge 7 - Printer not busy For example: } Function PrinterReady : Boolean; Var reg : Registers; Status : Byte; begin reg.AH := $02; reg.DX := $00; {..0=LPT1, 1=LPT2, etc } intr($17,reg); Status := reg.AH and $41; {..isolate bits 0,3,5 } if Status <> 0 then PrinterReady := False else PrinterReady := True; end; { basicaly I need something that weill check and give out the NB>famous line ('Printer not Ready (A)bort (R)etry') The way I've handled this in the past is to check PrinterReady beFore each Write/WriteLn statement (not very eloquant). A better way to do this might be to hook it to an interrupt, checking the status every few seconds. }