home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sibdemo3.zip / SAMPLES.DAT / SAMPLES / CHART / PIEDEMO / PIEMAIN.PAS < prev   
Pascal/Delphi Source File  |  1997-10-13  |  4KB  |  146 lines

  1. //Demo program for the Sibyl Chart Components
  2.  
  3. Unit PieMain;
  4.  
  5. Interface
  6.  
  7. Uses
  8.   SysUtils,Classes, Forms, Graphics, ExtCtrls, StdCtrls, Buttons, Chart;
  9.  
  10. Type
  11.   TPieDemoForm = Class (TForm)
  12.     ScrollBar1: TScrollBar;
  13.     Label1: TLabel;
  14.     ScrollBar2: TScrollBar;
  15.     Label2: TLabel;
  16.     RadioGroup1: TRadioGroup;
  17.     RadioGroup2: TRadioGroup;
  18.     PieChart1: TPieChart;
  19.     CheckBox1: TCheckBox;
  20.     CheckBox2: TCheckBox;
  21.     CheckBox3: TCheckBox;
  22.     CheckBox4: TCheckBox;
  23.     CheckBox6: TCheckBox;
  24.     Timer1: TTimer;
  25.     Procedure Timer1OnTimer (Sender: TObject);
  26.     Procedure Form1OnCloseQuery (Sender: TObject; Var CanClose: Boolean);
  27.     Procedure CheckBox6OnClick (Sender: TObject);
  28.     Procedure CheckBox4OnClick (Sender: TObject);
  29.     Procedure CheckBox3OnClick (Sender: TObject);
  30.     Procedure CheckBox2OnClick (Sender: TObject);
  31.     Procedure CheckBox1OnClick (Sender: TObject);
  32.     Procedure RadioGroup2OnClick (Sender: TObject);
  33.     Procedure RadioGroup1OnClick (Sender: TObject);
  34.     Procedure ScrollBar2OnChange (Sender: TObject);
  35.     Procedure ScrollBar1OnChange (Sender: TObject);
  36.     Procedure Form1OnSetupShow (Sender: TObject);
  37.     Procedure Form1OnCreate (Sender: TObject);
  38.   Private
  39.     {Insert private declarations here}
  40.   Public
  41.     {Insert public declarations here}
  42.   End;
  43.  
  44.  
  45. Var
  46.   PieDemoForm: TPieDemoForm;
  47.  
  48. Implementation
  49.  
  50. Procedure TPieDemoForm.Timer1OnTimer (Sender: TObject);
  51. Var Rotation:LongInt;
  52. Begin
  53.      Rotation:=PieChart1.Rotation;
  54.      inc(Rotation,5);
  55.      If Rotation>360 Then Rotation:=Rotation-360;
  56.      PieChart1.Rotation:=Rotation;
  57. End;
  58.  
  59. Procedure TPieDemoForm.Form1OnCloseQuery (Sender: TObject; Var CanClose: Boolean);
  60. Begin
  61.      Timer1.Stop;
  62.      CanClose:=True;
  63. End;
  64.  
  65. Procedure TPieDemoForm.CheckBox6OnClick (Sender: TObject);
  66. Begin
  67.      If CheckBox6.Checked Then Timer1.Start
  68.      Else Timer1.Stop;
  69. End;
  70.  
  71. Procedure TPieDemoForm.CheckBox4OnClick (Sender: TObject);
  72. Begin
  73.     PieChart1.View3D:=CheckBox4.Checked;
  74. End;
  75.  
  76. Procedure TPieDemoForm.CheckBox3OnClick (Sender: TObject);
  77. Begin
  78.     PieChart1.Circled:=CheckBox3.Checked;
  79. End;
  80.  
  81. Procedure TPieDemoForm.CheckBox2OnClick (Sender: TObject);
  82. Begin
  83.     PieChart1.Series[0].Marks.Visible:=CheckBox2.Checked;
  84. End;
  85.  
  86. Procedure TPieDemoForm.CheckBox1OnClick (Sender: TObject);
  87. Begin
  88.     PieChart1.Legend.Visible:=CheckBox1.Checked;
  89. End;
  90.  
  91. Procedure TPieDemoForm.RadioGroup2OnClick (Sender: TObject);
  92. Begin
  93.     Case RadioGroup2.ItemIndex Of
  94.        0:PieChart1.Legend.Alignment:=laLeft;
  95.        1:PieChart1.Legend.Alignment:=laRight;
  96.        2:PieChart1.Legend.Alignment:=laBottom;
  97.        3:PieChart1.Legend.Alignment:=laTop;
  98.     End;
  99. End;
  100.  
  101. Procedure TPieDemoForm.RadioGroup1OnClick (Sender: TObject);
  102. Begin
  103.      Case RadioGroup1.ItemIndex Of
  104.         0:PieChart1.GradientStyle:=grsNone;
  105.         1:PieChart1.GradientStyle:=grsLeftRight;
  106.         2:PieChart1.GradientStyle:=grsRightLeft;
  107.         3:PieChart1.GradientStyle:=grsBottomTop;
  108.         4:PieChart1.GradientStyle:=grsTopBottom;
  109.      End;
  110. End;
  111.  
  112. Procedure TPieDemoForm.ScrollBar2OnChange (Sender: TObject);
  113. Begin
  114.     PieChart1.Percent3D:=ScrollBar2.Position;
  115.     Label2.Caption:='Percent3D:'+tostr(ScrollBar2.Position);
  116. End;
  117.  
  118. Procedure TPieDemoForm.ScrollBar1OnChange (Sender: TObject);
  119. Begin
  120.     PieChart1.Rotation:=ScrollBar1.Position;
  121.     Label1.Caption:='Rotation:'+tostr(ScrollBar1.Position);
  122. End;
  123.  
  124. Procedure TPieDemoForm.Form1OnSetupShow (Sender: TObject);
  125. Begin
  126.      PieChart1.AddSerie('TestSerie',True,setLeft);
  127.  
  128.      PieChart1.Series[0].AddValue(20,'cars',True,clBlack,clRed);
  129.      PieChart1.Series[0].AddValue(50,'bikes',True,clBlack,clGreen);
  130.      PieChart1.Series[0].AddValue(40,'food',True,clBlack,clBlue);
  131.      PieChart1.Series[0].AddValue(10,'furniture',True,clBlack,clYellow);
  132.      PieChart1.Series[0].AddValue(20,'shirts',True,clBlack,clAqua);
  133.  
  134.      ScrollBar1.Position:=PieChart1.Rotation;
  135.      ScrollBar2.Position:=PieChart1.Percent3D;
  136. End;
  137.  
  138. Procedure TPieDemoForm.Form1OnCreate (Sender: TObject);
  139. Begin
  140. End;
  141.  
  142. Initialization
  143.   RegisterClasses ([TPieDemoForm, TScrollBar, TLabel, TRadioGroup, TPieChart,
  144.     TCheckBox, TTimer]);
  145. End.
  146.