PROGRAM   CharTb31 ;
USES   WinCRT ;

VAR
   G_i : Integer ;

   G_j    : Integer ;
   G_Code : Integer ;

BEGIN
   {----- LOOP 1 }
   FOR G_i := 0 TO 15 DO BEGIN

      {----- LOOP 2 }
      FOR G_j := 0 TO 15 DO BEGIN
         G_Code := G_i*16  +  G_j ;

         {----- Write char  ( Ignoring problem chars )  }
         IF    (G_Code = $00) or (G_Code = $01) or (G_Code = $02) or (G_Code = $03)
            or (G_Code = $04) or (G_Code = $05) or (G_Code = $06) or (G_Code = $07)
            or (G_Code = $08) or (G_Code = $09) or (G_Code = $0A) or (G_Code = $0B)
            or (G_Code = $0C) or (G_Code = $0D) or (G_Code = $0E) or (G_Code = $0F)

            or (G_Code = $10) or (G_Code = $11) or (G_Code = $12) or (G_Code = $13)
            or (G_Code = $14) or (G_Code = $15) or (G_Code = $16) or (G_Code = $17)
            or (G_Code = $18) or (G_Code = $19) or (G_Code = $1A) or (G_Code = $1B)
            or (G_Code = $1C) or (G_Code = $1D) or (G_Code = $1E) or (G_Code = $1F)
         THEN Write (   '-'   )
         ELSE Write (   Chr(G_Code)   );
      END;{j}

      WriteLn ;
   END;{i}
END.
