home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 11 / tricks / pintest.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-11  |  2.0 KB  |  75 lines

  1. (* ------------------------------------------------------ *)
  2. (*                   PINTEST.PAS                          *)
  3. (*    Testet alle 24 Nadeln Des NEC - PINWRITER P2200     *)
  4. (*         (c) 1989  Robert Knecht & TOOLBOX              *)
  5. (* ------------------------------------------------------ *)
  6. PROGRAM PinTest;
  7.  
  8. USES Dos, Printer;
  9.  
  10. VAR
  11.   col_1, col_2, col_3, col_4 : BYTE;
  12.   i, ii : INTEGER;
  13.  
  14.   PROCEDURE SetMode;
  15.                  { allgemeine Initialisierung Des Druckers }
  16.   BEGIN
  17.     Write(LST, #27, #64, #10);        { = RESET            }
  18.     Write(LST, #27, '*', #40, #96, #9);
  19.                  { = QUAD DENSITY, 96+(9*256) = 2400 BYTES }
  20.   END;
  21.  
  22.   PROCEDURE Cyclo; { Vertauscht die Druckkolonnen zyklisch }
  23.   BEGIN
  24.     col_4 := col_3;
  25.     col_3 := col_2;
  26.     col_2 := col_1;
  27.     col_1 := col_4;
  28.   END;
  29.  
  30.   PROCEDURE Init;
  31.   BEGIN
  32.     col_1 := 1;
  33.     col_2 := 0;
  34.     col_3 := 0;
  35.     col_4 := 0;  { Startwerte }
  36.     WriteLn;
  37.     WriteLn('      --------------------------------------',
  38.             '------------------'); { 6 Spaces, 56 Striche }
  39.     WriteLn;
  40.     WriteLn('       ALLE 24 NADELN DES NEC - P2200 WERDEN',
  41.             ' EINZELN GETESTET ');
  42.     WriteLn;
  43.     WriteLn('      --------------------------------------',
  44.             '------------------');
  45.   END;
  46.  
  47.   PROCEDURE Write_3Byte;
  48.   BEGIN
  49.     FOR ii := 1 TO 100 DO BEGIN
  50.                        { JE 100 PUNKTE DER AKTUELLEN NADEL }
  51.       Write(LST, Chr(col_1), Chr(COL_2), Chr(col_3));
  52.     END;
  53.   END;
  54.  
  55.   PROCEDURE Count;
  56.   BEGIN
  57.     FOR i := 1 TO 24 DO BEGIN                  { 24 NADELN }
  58.       Write_3Byte;
  59.       IF NOT ((col_3 = 0) OR (col_3 = 128)) THEN BEGIN
  60.         col_3 := 2 * col_3;
  61.       END;
  62.       Cyclo;
  63.     END;
  64.   END;
  65.  
  66. BEGIN
  67.   Init;
  68.   SetMode;
  69.   Count;
  70.   Write(LST, #13, #10, #27, #64);
  71.                         { Zeilenvorschub und Drucker-Reset }
  72. END.
  73. (* ------------------------------------------------------ *)
  74. (*                 Ende von PINTEST.PAS                   *)
  75.