home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 07 / vgraf / chrdemo.mod < prev    next >
Encoding:
Text File  |  1989-05-03  |  3.2 KB  |  130 lines

  1. (*******************************************************)
  2. (*                    CHRDEMO.MOD                      *)
  3. (*         Demoprogramm für das CHR-Modul              *)
  4. (*         (C) 1989 R.Hensmann & TOOLBOX               *)
  5.  
  6. MODULE CHRDemo;
  7.  
  8. IMPORT Chr, Graph, IO;
  9.  
  10. VAR Sans, Goth, Litt, Trip : ADDRESS;
  11.     i, size, x, y, c  : CARDINAL;
  12.     Eingabe : CHAR;
  13.  
  14. PROCEDURE SansDemo;
  15.   (* Demo des Sans Serif Font *)
  16. BEGIN
  17.   Chr.TextStyle("SANS",TRUE,10,10);
  18.   c := 32;
  19.   FOR y := 10 TO 470 BY 20 DO
  20.     FOR x := 0 TO 630 BY 15 DO
  21.       Chr.OutCharXY(x,y,CHAR(c));
  22.       INC(c);
  23.       IF c > 127 THEN
  24.         c := 32;
  25.       END;
  26.     END;
  27.   END;
  28.   REPEAT UNTIL IO.KeyPressed();
  29.   Graph.GraphMode();
  30. END SansDemo;
  31.  
  32. PROCEDURE GothDemo;
  33.   (* Demo des gothischen Fonts *)
  34. BEGIN
  35.   Chr.TextStyle("GOTH",TRUE,10,10);
  36.   c := 32;
  37.   FOR y := 10 TO 470 BY 20 DO
  38.     FOR x := 0 TO 630 BY 15 DO
  39.       Chr.OutCharXY(x,y,CHAR(c));
  40.       INC(c);
  41.       IF c > 127 THEN
  42.         c := 32;
  43.       END;
  44.     END;
  45.   END;
  46.   REPEAT UNTIL IO.KeyPressed();
  47.   Graph.GraphMode();
  48. END GothDemo;
  49.  
  50. PROCEDURE LittDemo;
  51.   (* Demo des "Little" (kleinem) Font *)
  52. BEGIN
  53.   Chr.TextStyle("LITT",TRUE,20,20); (* <--- andere Größe *)
  54.   c := 32;
  55.   FOR y := 10 TO 470 BY 15 DO
  56.     FOR x := 0 TO 630 BY 15 DO
  57.       Chr.OutCharXY(x,y,CHAR(c));
  58.       INC(c);
  59.       IF c > 127 THEN
  60.         c := 32;
  61.       END;
  62.     END;
  63.   END;
  64.   REPEAT UNTIL IO.KeyPressed();
  65.   Graph.GraphMode();
  66. END LittDemo;
  67.  
  68. PROCEDURE TripDemo;
  69.   (* Demo des Triplex-Font *)
  70. BEGIN
  71.   Chr.TextStyle("TRIP",TRUE,10,10);
  72.   c := 32;
  73.   FOR y := 10 TO 470 BY 20 DO
  74.     FOR x := 0 TO 630 BY 15 DO
  75.       Chr.OutCharXY(x,y,CHAR(c));
  76.       INC(c);
  77.       IF c > 127 THEN
  78.         c := 32;
  79.       END;
  80.     END;
  81.   END;
  82.   REPEAT UNTIL IO.KeyPressed();
  83.   Graph.GraphMode();
  84. END TripDemo;
  85.  
  86. PROCEDURE SizeDemo;
  87.   (* Demo variabler Schriftgröße *)
  88. BEGIN
  89.   FOR size := 10 TO 50 BY 3 DO
  90.     Chr.TextStyle("SANS",TRUE,size,size);
  91.     y := 10*size - 60;
  92.     Chr.OutTextXY(30,y,"Hallo Welt in variabler Groesse");
  93.   END;
  94.   REPEAT UNTIL IO.KeyPressed();
  95.   Graph.GraphMode;
  96. END SizeDemo;
  97.  
  98. BEGIN
  99.   Sans := Chr.LoadDriver("SANS.CHR");
  100.   Goth := Chr.LoadDriver("GOTH.CHR");
  101.   Litt := Chr.LoadDriver("LITT.CHR");
  102.   Trip := Chr.LoadDriver("TRIP.CHR");
  103.  
  104.   Graph.InitVGA();
  105.   Graph.GraphMode();
  106.   REPEAT
  107.     Chr.TextStyle("SANS",TRUE,15,15);
  108.     Chr.OutTextXY(0,0,
  109.              "===========================================");
  110.     Chr.OutTextXY(0,40,
  111.              "===========================================");
  112.     Chr.TextStyle("SANS",TRUE,15,15);
  113.     Chr.OutTextXY(170,19,"Demo des CHR-Modules");
  114.     Chr.TextStyle("SANS",TRUE,15,15);
  115.     Chr.OutTextXY(20,140,
  116.                      "(S)ansDemo  (G)othDemo  (L)ittDemo");
  117.     Chr.OutTextXY(20,175,
  118.                 "s(I)zeDemo  (T)ripDemo  (Q)uit    :?");
  119.     Eingabe := IO.RdKey();
  120.     Graph.GraphMode();
  121.     CASE Eingabe OF
  122.       'S','s' : SansDemo(); |
  123.       'G','g' : GothDemo(); |
  124.       'L','l' : LittDemo(); |
  125.       'T','t' : TripDemo(); |
  126.       'I','i' : SizeDemo();
  127.     END;
  128.   UNTIL (Eingabe = 'q') OR (Eingabe = 'Q');
  129.   Graph.TextMode();
  130. END CHRDemo.