home *** CD-ROM | disk | FTP | other *** search
- (*******************************************************
- *
- * CHARPLOT PROGRAM
- *
- * I understand this came from a text book. It
- * isn't all that great but it will give you some ideas
- * on banners for your programs. So look it over and
- * come up with something better and send it in.
- *
- * Donated July, 1980
- *
- ******************************************************)
-
- PROGRAM CHARPLOT;
- CONST
- WIDTH = 25;
- HEIGHT = 11;
- TYPE
- DX = -WIDTH..+WIDTH;
- DY = -HEIGHT..+HEIGHT;
- VAR
- PAGE : ARRAY[DY] OF PACKED ARRAY[DX] OF CHAR;
- X : DX;
- Y : DY;
-
- PROCEDURE RECT(H,W : INTEGER; CH : CHAR);
- VAR
- I,XMIN,XMAX : DX;
- J,YMIN,YMAX : DY;
- BEGIN
- XMAX:=W; YMAX:=H;
- XMIN:=-W; YMIN:=-H;
- (* MARK TOP & BOTTOM OF RECTANGLE *)
- FOR I:=XMIN TO XMAX DO
- BEGIN
- PAGE[YMAX,I]:=CH;
- PAGE[YMIN,I]:=CH;
- END;
- (* MARK SIDES *)
- FOR J:=YMIN TO YMAX DO
- BEGIN
- PAGE[J,XMAX]:=CH;
- PAGE[J,XMIN]:=CH;
- END;
- END; (* RECT *)
-
- PROCEDURE BLANKPAGE;
- VAR
- I : DX;
- J : DY;
- BEGIN
- FOR J:=-HEIGHT TO HEIGHT DO
- FOR I:=-WIDTH TO WIDTH DO PAGE[J,I]:=' ';
- END;
-
- BEGIN (* MAIN PROGRAM *)
- BLANKPAGE;
- RECT(11,10,'*');
- RECT(5,25,'#');
- RECT(8,15,'&');
- FOR Y:=HEIGHT DOWNTO -HEIGHT DO
- BEGIN
- FOR X:=-WIDTH TO WIDTH DO WRITE(PAGE[Y,X]);
- IF Y > -HEIGHT THEN WRITELN;
- END;
- END.
-