[Back to PRINTING SWAG index] [Back to Main SWAG index] [Original]
===========================================================================
BBS: The Beta Connection
Date: 06-08-93 (20:02) Number: 819
From: JEFF PALEN Refer#: 777
To: DAN SABIN Recvd: YES
Subj: PRINTER CRASHING Conf: (232) T_Pascal_R
---------------------------------------------------------------------------
DS>Does anyone know how you can check from Turbo Pascal that the
DS>printer is turned on so that you won't get a device error that
DS>will crash a program? I can't find anything about this.
Program Printer_Status;
Uses Dos;
Function PrinterOnLine : Boolean;
Const
PrnStatusInt : Byte = $17; (* Dos interrupt *)
StatusRequest : Byte = $02; (* Interrupt Function Call *)
PrinterNum : Word = 0; { 0 for LPT1, 1 for LPT2, etc. }
Var
Regs : Registers ; { Type is defined in Dos Unit }
Begin (* PrinterOnLine*)
Regs.AH := StatusRequest;
Regs.DX := PrinterNum;
Intr(PrnStatusInt, Regs);
PrinterOnLine := (Regs.AH and $80) = $80;
End;
Begin (* Main Program *)
If PrinterOnLine Then
Writeln('Ready To Print')
Else
Writeln('Please check the printer!');
End.
---
þ RM 1.0 þ Eval Day 4 þ Programmer's do it with bytes and nybbles....
* Channel 1(R) * 617-354-7077 * Cambridge MA * 85 lines
* PostLink(tm) v1.06 CHANNEL1 (#15) : RelayNet(tm)
[Back to PRINTING SWAG index] [Back to Main SWAG index] [Original]