home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / PRINTING / PRINTME.ZIP / PRINTME.PAS
Pascal/Delphi Source File  |  1989-03-20  |  2KB  |  56 lines

  1.  PROGRAM PRINTME(OUTPUT);
  2.  (*CEM 12/06/85.*)
  3.  
  4.  CONST
  5.        FIRSTHALF = 9;
  6.       SECONDHALF = 10;
  7.           LENGTH = 22;
  8.                Q = '''';
  9.   
  10.  VAR
  11.                 I,
  12.                 J: INTEGER;
  13.             IMAGE: ARRAY [0.. LENGTH] OF PACKED ARRAY [1..40] OF CHAR;
  14.   
  15.  BEGIN (* PRINTME *)
  16.   IMAGE[0] := 'PROGRAM PRINTME(OUTPUT);                ';
  17.   IMAGE[1] := ' (*CEM 12/06/85.*)                      ';
  18.   IMAGE[2] := 'CONST FIRSTHALF = 9;                    ';
  19.   IMAGE[3] := ' SECONDHALF = 10;                       ';
  20.   IMAGE[4] := ' LENGTH = 22;                           ';
  21.   IMAGE[5] := ' Q = '''''''';                              ';
  22.   IMAGE[6] := 'VAR I,J: INTEGER;                       ';
  23.   IMAGE[7] := ' IMAGE: ARRAY[0..LENGTH] OF             ';
  24.   IMAGE[8] := '  PACKED ARRAY[1..40] OF CHAR;          ';
  25.   IMAGE[9] := 'BEGIN (* PRINTME *)                     ';
  26.   IMAGE[10] := 'FOR I := 0 TO FIRSTHALF DO              ';
  27.   IMAGE[11] := ' WRITELN(IMAGE[I]);                     ';
  28.   IMAGE[12] := 'FOR I := 0 TO LENGTH DO                 ';
  29.   IMAGE[13] := ' BEGIN WRITE(''IMAGE['',I:2,''] := '',Q);   ';
  30.   IMAGE[14] := ' FOR J := 1 TO 40 DO                    ';
  31.   IMAGE[15] := '  IF IMAGE[I][J] = Q                    ';
  32.   IMAGE[16] := '   THEN WRITE(Q,Q)                      ';
  33.   IMAGE[17] := '   ELSE WRITE(IMAGE[I][J]);             ';
  34.   IMAGE[18] := ' WRITELN(Q,'';'')                         ';
  35.   IMAGE[19] := ' END;                                   ';
  36.   IMAGE[20] := 'FOR I := SECONDHALF TO LENGTH DO        ';
  37.   IMAGE[21] := ' WRITELN(IMAGE[I])                      ';
  38.   IMAGE[22] := 'END (*PRINTME*).                        ';
  39.   FOR I := 0 TO FIRSTHALF DO
  40.    WRITELN(IMAGE[I]);
  41.   FOR I := 0 TO LENGTH DO
  42.    BEGIN
  43.     WRITE('IMAGE[', I: 2, '] := ', Q);
  44.     FOR J := 1 TO 40 DO
  45.      IF IMAGE[I] [J] = Q
  46.      THEN
  47.       WRITE(Q, Q)
  48.      ELSE
  49.       WRITE(IMAGE[I] [J]);
  50.     WRITELN(Q, ';')
  51.    END (*FOR*);
  52.   FOR I := SECONDHALF TO LENGTH DO
  53.    WRITELN(IMAGE[I])
  54.  END (*PRINTME*).
  55.