home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Delphi / TeeChartPro / TeeChart5Delphi5Eval.exe / %MAINDIR% / Examples / Features / Series_Funnel.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-09-10  |  2.2 KB  |  80 lines

  1. unit Series_Funnel;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Base, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart,
  8.   TeeFunnel, TeeFunnelEditor, ComCtrls;
  9.  
  10. type
  11.   TFunnelSeriesForm = class(TBaseForm)
  12.     Button1: TButton;
  13.     Label1: TLabel;
  14.     Edit1: TEdit;
  15.     UpDown1: TUpDown;
  16.     procedure Button1Click(Sender: TObject);
  17.     procedure FormCreate(Sender: TObject);
  18.     procedure Chart1ClickSeries(Sender: TCustomChart; Series: TChartSeries;
  19.       ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
  20.       Y: Integer);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.     Funnel : TFunnelSeries;
  26.   end;
  27.  
  28. implementation
  29.  
  30. {$R *.DFM}
  31.  
  32. Uses EditChar;
  33.  
  34. procedure TFunnelSeriesForm.Button1Click(Sender: TObject);
  35. begin
  36.   EditSeries(Self, Funnel);
  37. end;
  38.  
  39. procedure TFunnelSeriesForm.FormCreate(Sender: TObject);
  40. begin
  41.   inherited;
  42.   Funnel := TFunnelSeries.Create(Self);
  43.   Funnel.ParentChart:=Chart1;
  44.  
  45.   Funnel.Marks.Visible := True;
  46.   Funnel.Marks.Clip := True;
  47.   Funnel.Name := 'Series1';
  48.  
  49.   { add some points to Funnnel/Pipeline }
  50.   Funnel.AddSegment(50,110,'1st',clTeeColor);
  51.   Funnel.AddSegment(200,50,'2nd',clTeeColor);
  52.   Funnel.AddSegment(100,50,'3rd',clTeeColor);
  53.   Funnel.AddSegment(60,55,'4th',clTeeColor);
  54.  
  55.   Funnel.Recalc;
  56. end;
  57.  
  58. procedure TFunnelSeriesForm.Chart1ClickSeries(Sender: TCustomChart;
  59.   Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
  60.   Shift: TShiftState; X, Y: Integer);
  61. var tmpStr : String;
  62. begin
  63.   if (Series = Funnel) and (Button = mbLeft) then
  64.   begin
  65.     tmpStr := 'Quote = '+FormatFloat('0.000',Funnel.QuoteValues.Value[ValueIndex]) + Chr(13);
  66.     tmpStr := tmpStr + 'Opportunity =' +
  67.               FormatFloat('0.000',Funnel.OpportunityValues.Value[ValueIndex]) +
  68.               Chr(13);
  69.     tmpStr := tmpStr +
  70.               'Percentage = ' +
  71.               FormatFloat('0.00%',Funnel.OpportunityValues.Value[ValueIndex]/Funnel.QuoteValues.Value[ValueIndex]*100);
  72.     ShowMessage(tmpStr);
  73.   end
  74.   else Chart1.CancelMouse:=False; { <-- enable zoom and scroll if not }
  75. end;
  76.  
  77. initialization
  78.   RegisterClass(TFunnelSeriesForm);
  79. end.
  80.