home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / das_buch / grafik / testbgi.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-05-09  |  2.1 KB  |  78 lines

  1. {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X-}
  2. {$M 16384,0,655360}
  3. (*===================================================================*)
  4. (*                             TESTBGI.PAS                           *)
  5. (*                  (C) 1993 te-wi Verlag München                    *)
  6. (*===================================================================*)
  7. (*    Für dieses Programm muß der Treiber mit dem richtigen Wert     *)
  8. (*         gepatcht sein. Benutzen Sie hierfür MAKEBGI.PAS           *)
  9. (*===================================================================*)
  10.  
  11. PROGRAM TestSVGABGI;
  12.  
  13. USES
  14.   Crt, Dos, Graph;
  15.  
  16. VAR
  17.   gd, gm, result : INTEGER;
  18.   SVGADriverPtr  : Pointer;
  19.   f,
  20.   MaxX, MaxY,
  21.   i, j           : INTEGER;
  22.   s              : STRING;
  23.  
  24. BEGIN
  25.   gd := InstallUserDriver('SVGA', SVGADriverPtr);
  26.   gm := 0;
  27.   InitGraph(gd, gm, GetEnv('BGIPATH'));
  28.   result := GraphResult;
  29.   IF result < 0 THEN 
  30.   BEGIN
  31.     WriteLn(^G, GraphErrorMsg(result));
  32.     Halt;
  33.   END;
  34.   SetColor(LightRed);
  35.   MaxX := GetMaxX;
  36.   MaxY := GetMaxY;
  37.   Line(MaxX DIV 2, 0,
  38.        MaxX DIV 2, MaxY - 2 * TextHeight('Pp'));
  39.   SetColor(LightGreen);
  40.   Line(0, MaxY DIV 2, MaxX, MaxY DIV 2);
  41.   SetFillStyle(XHatchFill, Red);
  42.   Bar(MaxX DIV 4,
  43.       MaxY DIV 4,
  44.       MaxX DIV 2 + MaxX DIV 4,
  45.       MaxY DIV 2 + MaxY DIV 4);
  46.   s := GetModeName(0);
  47.   MoveTo(MaxX DIV 2 - TextWidth(s) DIV 2,
  48.          MaxY - TextHeight('pP'));
  49.   FOR i := 1 TO Length(s) DO 
  50.   BEGIN
  51.     SetColor(Succ(i));
  52.     OutText(s[i]);
  53.   END;
  54.   SetColor(LightMagenta);
  55.   Line(0, 0, MaxX, MaxY);
  56.   Line(0, MaxY-1, MaxX-1, 0);
  57.   i := MaxY DIV 2;
  58.   SetFillStyle(SolidFill, Blue);
  59.   SetColor(Blue);
  60.   PieSlice(MaxX DIV 2, MaxY DIV 2, 0, 360, 20);
  61.   SetColor(Yellow);
  62.   WHILE i > 10 DO 
  63.   BEGIN
  64.     Dec(i, 20);
  65.     Circle(MaxX DIV 2, MaxY DIV 2, i);
  66.     IF i > 10 THEN
  67.     Rectangle(i + GetMaxX DIV 2 ,
  68.               i,
  69.               MaxX - i - GetMaxX DIV 2,
  70.               MaxY - i);
  71.   END;
  72.   REPEAT 
  73.   UNTIL KeyPressed;
  74.   CloseGraph;
  75. END.
  76.  
  77. (*===================================================================*)
  78.