home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Delphi1_And_Delphi2 / EXAMPLES / STANDARD / UARROWS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  2.7 KB  |  117 lines

  1. {*********************************************}
  2. { TeeChart Delphi Component Library           }
  3. { TArrowSeries Example                        }
  4. { Copyright (c) 1995-1996 by David Berneda    }
  5. { All rights reserved                         }
  6. {*********************************************}
  7. unit Uarrows;
  8.  
  9. interface
  10.  
  11. uses
  12.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  13.   Forms, Dialogs, Teengine, Series, ArrowCha, Chart, StdCtrls, ExtCtrls,
  14.   Buttons, TeeProcs, TeeComma;
  15.  
  16. type
  17.   TArrowsForm = class(TForm)
  18.     Panel1: TPanel;
  19.     CheckBox1: TCheckBox;
  20.     Chart1: TChart;
  21.     ArrowSeries1: TArrowSeries;
  22.     Timer1: TTimer;
  23.     BitBtn3: TBitBtn;
  24.     Memo1: TMemo;
  25.     CheckBox2: TCheckBox;
  26.     CheckBox3: TCheckBox;
  27.     TeeCommander1: TTeeCommander;
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure CheckBox1Click(Sender: TObject);
  30.     procedure Timer1Timer(Sender: TObject);
  31.     procedure CheckBox2Click(Sender: TObject);
  32.     procedure CheckBox3Click(Sender: TObject);
  33.   private
  34.     { Private declarations }
  35.   public
  36.     { Public declarations }
  37.     procedure AddRandomArrows;
  38.   end;
  39.  
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. procedure TArrowsForm.FormCreate(Sender: TObject);
  45. begin
  46.   With ArrowSeries1 do
  47.   Begin
  48.     ArrowWidth:=32;
  49.     ArrowHeight:=24;
  50.     ColorEachPoint:=True;
  51.     XValues.DateTime:=False;
  52.     YValues.DateTime:=False;
  53.  
  54.     AddRandomArrows;
  55.   end;
  56. end;
  57.  
  58. procedure TArrowsForm.AddRandomArrows;
  59. var x0,y0,x1,y1:Double;
  60.     t:Longint;
  61. begin
  62.   With ArrowSeries1 do
  63.   Begin
  64.     Clear;
  65.     for t:=1 to 40 do
  66.     begin
  67.       x0:=Random( 1000 );
  68.       y0:=Random( 1000 );
  69.  
  70.       x1:=Random( 300 ) - 150.0;
  71.       if x1<50 then x1:=50;
  72.       x1:=x1+x0;
  73.  
  74.       y1:=Random( 300 ) - 150.0;
  75.       if y1<50 then y1:=50;
  76.       y1:=y1+y0;
  77.  
  78.       AddArrow( x0,y0,x1,y1, '', clTeeColor );
  79.     end;
  80.   end;
  81. end;
  82.  
  83. procedure TArrowsForm.CheckBox1Click(Sender: TObject);
  84. begin
  85.   Timer1.Enabled:=CheckBox1.Checked;
  86. end;
  87.  
  88. procedure TArrowsForm.Timer1Timer(Sender: TObject);
  89. var t:Longint;
  90. begin
  91.   Timer1.Enabled:=False;
  92.   With ArrowSeries1 do
  93.   Begin
  94.     for t:=0 to Count-1 do
  95.     Begin
  96.       StartXValues[t]:=StartXValues[t]+Random(100)-50.0;
  97.       StartYValues[t]:=StartYValues[t]+Random(100)-50.0;
  98.       EndXValues[t]  :=EndXValues[t]+Random(100)-50.0;
  99.       EndYValues[t]  :=EndYValues[t]+Random(100)-50.0;
  100.     End;
  101.     Repaint;
  102.   End;
  103.   Timer1.Enabled:=True;
  104. end;
  105.  
  106. procedure TArrowsForm.CheckBox2Click(Sender: TObject);
  107. begin
  108.   ArrowSeries1.ColorEachPoint:=CheckBox2.Checked;
  109. end;
  110.  
  111. procedure TArrowsForm.CheckBox3Click(Sender: TObject);
  112. begin
  113.   Chart1.View3D:=CheckBox3.Checked;
  114. end;
  115.  
  116. end.
  117.