home *** CD-ROM | disk | FTP | other *** search
- (* --------------------------------------------------- *)
- (* PTRTEST.PAS *)
- (* Druckertest mit entsprechenden Meldungen *)
- FUNCTION PtrTest: BOOLEAN;
- CONST PtrNotbusy = 128;
- PtrAck = 64;
- PtrNoPaper = 32;
- PtrSelect = 16;
- PtrIOError = 8;
- PtrNotUsed1= 4;
- PtrNotUsed2= 2;
- PtrTimeOut = 1;
- VAR errornumber, status, oldstatus: BYTE;
- printer_out, ptresc: BOOLEAN;
- ptrerror : ARRAY[1..4] OF BOOLEAN;
- pressed_key: CHAR;
- BEGIN
- ptresc := FALSE;
- printer_out := FALSE;
- oldstatus := 255;
- REPEAT
- status := PtrStat(0);
- IF status <> oldstatus THEN BEGIN
- IF (status AND PtrIOError) = PtrIOError THEN
- IF (status AND PtrAck) = PtrAck THEN BEGIN
- WriteLn('Drucker einschalten !');
- printer_out := TRUE;
- END
- ELSE IF (status AND PtrSelect) = PtrSelect THEN
- WriteLn('Drucker ist off-line,',
- ' bitte on-line schalten !');
- IF (status AND PtrNoPaper) <> 0 THEN BEGIN
- WriteLn('Kein Papier vorhanden !');
- printer_out := FALSE;
- END;
- oldstatus := status;
- END;
- IF KeyPressed THEN BEGIN
- Read(Kbd,pressed_key);
- IF (pressed_key = #27) AND (NOT KeyPressed) THEN
- ptresc := TRUE;
- END;
- UNTIL ((status XOR (PtrNotbusy+PtrSelect)) = 0)
- OR ptresc;
- PtrTest := NOT ptresc;
- END;
- (* --------------------------------------------------- *)
- (* PTRTEST.PAS *)