home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / Runimage / Delphi50 / Demos / Teechart / teemain.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-08-11  |  4.9 KB  |  200 lines

  1. {*********************************************}
  2. { TeeChart Delphi Component Library 3.0       }
  3. { Demo                                        }
  4. { Copyright (c) 1995-1996 by David Berneda    }
  5. { All rights reserved                         }
  6. {*********************************************}
  7. unit TeeMain;
  8.  
  9. interface
  10.  
  11. uses
  12.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  13.   Forms, Dialogs, ExtCtrls, TeEngine, Series, TeeProcs, Chart, StdCtrls,
  14.   TeeFunci;
  15.  
  16. type
  17.   TTeeMainForm = class(TForm)
  18.     Panel1: TPanel;
  19.     Button1: TButton;
  20.     Image1: TImage;
  21.     Timer1: TTimer;
  22.     Button2: TButton;
  23.     Button3: TButton;
  24.     Button4: TButton;
  25.     Button6: TButton;
  26.     Chart2: TChart;
  27.     FastLineSeries1: TFastLineSeries;
  28.     Label10: TLabel;
  29.     FastLineSeries2: TFastLineSeries;
  30.     Timer2: TTimer;
  31.     Label11: TLabel;
  32.     Label12: TLabel;
  33.     Panel2: TPanel;
  34.     Chart1: TChart;
  35.     Series1: TPieSeries;
  36.     Chart7: TChart;
  37.     PieSeries6: TPieSeries;
  38.     Chart8: TChart;
  39.     PieSeries7: TPieSeries;
  40.     Chart9: TChart;
  41.     PieSeries8: TPieSeries;
  42.     Chart10: TChart;
  43.     PieSeries9: TPieSeries;
  44.     Label13: TLabel;
  45.     Label15: TLabel;
  46.     Label16: TLabel;
  47.     Label2: TLabel;
  48.     Panel3: TPanel;
  49.     Label1: TLabel;
  50.     Label9: TLabel;
  51.     Label14: TLabel;
  52.     Label3: TLabel;
  53.     procedure FormCreate(Sender: TObject);
  54.     procedure Timer1Timer(Sender: TObject);
  55.     procedure Button1Click(Sender: TObject);
  56.     procedure Timer2Timer(Sender: TObject);
  57.     procedure Button2Click(Sender: TObject);
  58.     procedure Chart2MouseUp(Sender: TObject; Button: TMouseButton;
  59.       Shift: TShiftState; X, Y: Integer);
  60.     procedure Chart2MouseDown(Sender: TObject; Button: TMouseButton;
  61.       Shift: TShiftState; X, Y: Integer);
  62.     procedure Label10Click(Sender: TObject);
  63.     procedure Button3Click(Sender: TObject);
  64.     procedure Button4Click(Sender: TObject);
  65.     procedure Button6Click(Sender: TObject);
  66.     procedure Label3Click(Sender: TObject);
  67.   private
  68.     { Private declarations }
  69.     DeltaZoom:Integer;
  70.   public
  71.     { Public declarations }
  72.     procedure ShowForm(FormClass: TFormClass);
  73.   end;
  74.  
  75. var
  76.   TeeMainForm: TTeeMainForm;
  77.  
  78. implementation
  79.  
  80. {$R *.DFM}
  81. Uses TeeAbout,TeeBasic,Features,UDemoCha,Specs,ShellAPI;
  82.  
  83. procedure TTeeMainForm.ShowForm(FormClass: TFormClass);
  84. begin
  85.   Timer1.Enabled:=False;
  86.   Timer2.Enabled:=False;
  87.   With FormClass.Create(Self) do
  88.   try
  89.     ShowModal;
  90.   finally
  91.     Free;
  92.   end;
  93.   Timer2.Enabled:=True;
  94.   Timer1.Enabled:=True;
  95. end;
  96.  
  97. procedure TTeeMainForm.FormCreate(Sender: TObject);
  98. begin
  99.   TeeEraseBack:=False;
  100.   PieSeries6.FillSampleValues(5);
  101.   PieSeries9.FillSampleValues(5);
  102.   PieSeries7.FillSampleValues(5);
  103.   Series1.FillSampleValues(5);
  104.   PieSeries8.CheckDataSource;
  105.   FastLineSeries1.FillSampleValues(20);
  106.   FastLineSeries2.FillSampleValues(20);
  107.   DeltaZoom:=5;
  108. end;
  109.  
  110. procedure TTeeMainForm.Timer1Timer(Sender: TObject);
  111. var tmp:Integer;
  112. begin
  113.   PieSeries6.Rotate(5);
  114.   PieSeries7.Rotate(5);
  115.   PieSeries9.Rotate(5);
  116.   Series1.Rotate(355);
  117.   PieSeries8.Rotate(355);
  118.   With Chart9.View3DOptions do
  119.   begin
  120.     Zoom:=Zoom-DeltaZoom;
  121.     if (Zoom<60) or (Zoom>110) then DeltaZoom:=-DeltaZoom;
  122.   end;
  123.   With PieSeries8 do
  124.   begin
  125.     tmp:=Random(Count);
  126.     if ExplodedSlice[tmp]>20 then
  127.        ExplodedSlice[tmp]:=ExplodedSlice[tmp]-1
  128.     else
  129.        ExplodedSlice[tmp]:=ExplodedSlice[tmp]+1;
  130.   end;
  131. end;
  132.  
  133. procedure TTeeMainForm.Button1Click(Sender: TObject);
  134. begin
  135.   Close;
  136. end;
  137.  
  138. procedure TTeeMainForm.Timer2Timer(Sender: TObject);
  139. var tmpX:Double;
  140. begin
  141.   With FastLineSeries1 do
  142.   begin
  143.     tmpX:=XValues[1]-XValues[0];
  144.     Delete(0);
  145.     AddXY(XValues.Last+tmpX,Random(100),'',clTeeColor);
  146.   end;
  147.   With FastLineSeries2 do
  148.   begin
  149.     tmpX:=XValues[1]-XValues[0];
  150.     Delete(0);
  151.     AddXY(XValues.Last+tmpX,Random(100),'',clTeeColor);
  152.   end;
  153. end;
  154.  
  155. procedure TTeeMainForm.Button2Click(Sender: TObject);
  156. begin
  157.   ShowForm(TDemoForm);
  158. end;
  159.  
  160. procedure TTeeMainForm.Chart2MouseUp(Sender: TObject; Button: TMouseButton;
  161.   Shift: TShiftState; X, Y: Integer);
  162. begin
  163.   Label10Click(Self);
  164. end;
  165.  
  166. procedure TTeeMainForm.Chart2MouseDown(Sender: TObject;
  167.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  168. begin
  169.   Chart2.BevelOuter:=bvLowered;
  170. end;
  171.  
  172. procedure TTeeMainForm.Label10Click(Sender: TObject);
  173. begin
  174.   ShowForm(TTeeAboutForm);
  175.   Chart2.BevelOuter:=bvRaised;
  176. end;
  177.  
  178. procedure TTeeMainForm.Button3Click(Sender: TObject);
  179. begin
  180.   ShowForm(TFeaturesForm);
  181. end;
  182.  
  183. procedure TTeeMainForm.Button4Click(Sender: TObject);
  184. begin
  185.   ShowForm(TChartSpecs);
  186. end;
  187.  
  188. procedure TTeeMainForm.Button6Click(Sender: TObject);
  189. begin
  190.   ShowForm(TSeriesForm);
  191. end;
  192.  
  193. procedure TTeeMainForm.Label3Click(Sender: TObject);
  194. Var St:Array[0..255] of char;
  195. begin
  196.   ShellExecute(Handle,'open',StrPCopy(St,'http://'+Label3.Caption),nil,nil,SW_SHOW);
  197. end;
  198.  
  199. end.
  200.