home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 04 / ptrtest.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-12-07  |  1.6 KB  |  49 lines

  1. (* --------------------------------------------------- *)
  2. (*                   PTRTEST.PAS                       *)
  3. (*     Druckertest mit entsprechenden Meldungen        *)
  4. FUNCTION PtrTest: BOOLEAN;
  5. CONST PtrNotbusy = 128;
  6.       PtrAck     = 64;
  7.       PtrNoPaper = 32;
  8.       PtrSelect  = 16;
  9.       PtrIOError = 8;
  10.       PtrNotUsed1= 4;
  11.       PtrNotUsed2= 2;
  12.       PtrTimeOut = 1;
  13. VAR errornumber, status, oldstatus: BYTE;
  14.     printer_out, ptresc: BOOLEAN;
  15.     ptrerror   : ARRAY[1..4] OF BOOLEAN;
  16.     pressed_key: CHAR;
  17. BEGIN
  18.   ptresc := FALSE;
  19.   printer_out := FALSE;
  20.   oldstatus := 255;
  21.   REPEAT
  22.     status := PtrStat(0);
  23.     IF status <> oldstatus THEN BEGIN
  24.       IF (status AND PtrIOError) = PtrIOError THEN
  25.         IF (status AND PtrAck) = PtrAck THEN BEGIN
  26.           WriteLn('Drucker einschalten !');
  27.           printer_out := TRUE;
  28.         END
  29.         ELSE IF (status AND PtrSelect) = PtrSelect THEN
  30.           WriteLn('Drucker ist off-line,',
  31.                   ' bitte on-line schalten !');
  32.         IF (status AND PtrNoPaper) <> 0 THEN BEGIN
  33.           WriteLn('Kein Papier vorhanden !');
  34.           printer_out := FALSE;
  35.         END;
  36.       oldstatus := status;
  37.     END;
  38.     IF KeyPressed THEN BEGIN
  39.       Read(Kbd,pressed_key);
  40.       IF (pressed_key = #27) AND (NOT KeyPressed) THEN
  41.         ptresc := TRUE;
  42.     END;
  43.   UNTIL ((status XOR (PtrNotbusy+PtrSelect)) = 0)
  44.         OR ptresc;
  45.   PtrTest := NOT ptresc;
  46. END;
  47. (* --------------------------------------------------- *)
  48. (*                   PTRTEST.PAS                       *)
  49.