home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 04 / sonzeich.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-01-26  |  2.0 KB  |  75 lines

  1. PROGRAM BitBilder;
  2.  
  3. CONST
  4.   escape = #27;
  5.   grafik = 'L';
  6.  
  7. TYPE
  8.   BitField = STRING[12];
  9.  
  10.                  (* Die Sonderzeichen als Punkte-Matrix: *)
  11. CONST
  12.   BitChars : ARRAY[1..4] OF BitField =
  13.                                                (* Sigma: *)
  14.         (#$00#$C3#$E7#$BD#$99#$81#$81#$81#$81#$C3#$00#$00,
  15.                                             (* Integral: *)
  16.          #$00#$00#$02#$03#$01#$7E#$7E#$80#$C0#$40#$00#$00,
  17.                                                   (* Pi: *)
  18.          #$00#$00#$60#$C0#$FF#$C0#$C0#$FF#$FF#$C0#$00#$00,
  19.                                                (* Pfeil: *)
  20.          #$00#$38#$38#$38#$38#$38#$38#$FE#$7C#$10#$00#$00);
  21.  
  22.             (* Die Punkte-Matrix für die Zickzack-Linie: *)
  23.   BitZick  : STRING[14] =
  24. #$01#$02#$04#$08#$10#$20#$40#$80#$#$40#$20#$10#$08#$04#$02;
  25.  
  26.  
  27. PROCEDURE Sonderzeichen (Nr: INTEGER);
  28.  
  29. BEGIN
  30.   IF Nr IN [1..4] THEN
  31.     Write(Lst, escape, grafik,(* Grafik für die nächsten *)
  32.           Chr(12), Chr(0),    (* 12 Bytes aktivieren     *)
  33.           BitChars[Nr]);      (* die Punkte-Matrix druck.*)
  34. END;
  35.  
  36.  
  37. PROCEDURE Trennbalken (Breite: INTEGER);
  38.  
  39. VAR i: INTEGER;
  40.  
  41. BEGIN
  42.   Write(Lst, escape, grafik,                     (* s.o. *)
  43.         Chr(Breite MOD 256), Chr(Breite DIV 256));
  44.   FOR i := 1 TO Breite DO
  45.     Write(Lst, Chr($FF));  (* alle Punkte setzen/drucken *)
  46. END;
  47.  
  48.  
  49. PROCEDURE Zickzack (Breite: INTEGER);
  50.  
  51. BEGIN
  52.   Breite := 14 * (Breite DIV 14);
  53.   Write(Lst, escape, grafik,
  54.         Chr(Breite  MOD 256), Chr(Breite DIV 256));
  55.   REPEAT
  56.     Breite := Breite - 14;
  57.     Write(Lst, BitZick);
  58.   UNTIL Breite = 0;
  59. END;
  60.  
  61.  
  62. BEGIN (* Testprogramm *)
  63.   WriteLn(Lst);
  64.   Trennbalken(800);
  65.   WriteLn(Lst);
  66.   Write(Lst, 'Sigma   : '); Sonderzeichen(1); WriteLn(Lst);
  67.   Write(Lst, 'Integral: '); Sonderzeichen(2); WriteLn(Lst);
  68.   Write(Lst, 'Pi      : '); Sonderzeichen(3); WriteLn(Lst);
  69.   Write(Lst, 'Pfeil   : '); Sonderzeichen(4); WriteLn(Lst);
  70.   Trennbalken(800);
  71.   WriteLn(Lst);
  72.   Zickzack(800);
  73.   WriteLn(Lst);
  74. END.
  75.