home *** CD-ROM | disk | FTP | other *** search
- PROGRAM BitBilder;
-
- CONST
- escape = #27;
- grafik = 'L';
-
- TYPE
- BitField = STRING[12];
-
- (* Die Sonderzeichen als Punkte-Matrix: *)
- CONST
- BitChars : ARRAY[1..4] OF BitField =
- (* Sigma: *)
- (#$00#$C3#$E7#$BD#$99#$81#$81#$81#$81#$C3#$00#$00,
- (* Integral: *)
- #$00#$00#$02#$03#$01#$7E#$7E#$80#$C0#$40#$00#$00,
- (* Pi: *)
- #$00#$00#$60#$C0#$FF#$C0#$C0#$FF#$FF#$C0#$00#$00,
- (* Pfeil: *)
- #$00#$38#$38#$38#$38#$38#$38#$FE#$7C#$10#$00#$00);
-
- (* Die Punkte-Matrix für die Zickzack-Linie: *)
- BitZick : STRING[14] =
- #$01#$02#$04#$08#$10#$20#$40#$80#$#$40#$20#$10#$08#$04#$02;
-
-
- PROCEDURE Sonderzeichen (Nr: INTEGER);
-
- BEGIN
- IF Nr IN [1..4] THEN
- Write(Lst, escape, grafik,(* Grafik für die nächsten *)
- Chr(12), Chr(0), (* 12 Bytes aktivieren *)
- BitChars[Nr]); (* die Punkte-Matrix druck.*)
- END;
-
-
- PROCEDURE Trennbalken (Breite: INTEGER);
-
- VAR i: INTEGER;
-
- BEGIN
- Write(Lst, escape, grafik, (* s.o. *)
- Chr(Breite MOD 256), Chr(Breite DIV 256));
- FOR i := 1 TO Breite DO
- Write(Lst, Chr($FF)); (* alle Punkte setzen/drucken *)
- END;
-
-
- PROCEDURE Zickzack (Breite: INTEGER);
-
- BEGIN
- Breite := 14 * (Breite DIV 14);
- Write(Lst, escape, grafik,
- Chr(Breite MOD 256), Chr(Breite DIV 256));
- REPEAT
- Breite := Breite - 14;
- Write(Lst, BitZick);
- UNTIL Breite = 0;
- END;
-
-
- BEGIN (* Testprogramm *)
- WriteLn(Lst);
- Trennbalken(800);
- WriteLn(Lst);
- Write(Lst, 'Sigma : '); Sonderzeichen(1); WriteLn(Lst);
- Write(Lst, 'Integral: '); Sonderzeichen(2); WriteLn(Lst);
- Write(Lst, 'Pi : '); Sonderzeichen(3); WriteLn(Lst);
- Write(Lst, 'Pfeil : '); Sonderzeichen(4); WriteLn(Lst);
- Trennbalken(800);
- WriteLn(Lst);
- Zickzack(800);
- WriteLn(Lst);
- END.