home *** CD-ROM | disk | FTP | other *** search
/ PC Expert 29 / Pce29cd.iso / RUNIMAGE / DELPHI40 / DEMOS / TEECHART / TABLEPIE.PAS < prev    next >
Pascal/Delphi Source File  |  1998-06-16  |  2KB  |  73 lines

  1. {*********************************************}
  2. { TeeChart Delphi Component Library           }
  3. { Table Data-Aware Chart Demo                 }
  4. { Copyright (c) 1995-1996 by David Berneda    }
  5. { All rights reserved                         }
  6. {*********************************************}
  7. unit Tablepie;
  8.  
  9. interface
  10.  
  11. uses
  12.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  13.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, DB,
  14.   DBTables, Chart, Series, DbChart, Teengine, TeeProcs;
  15.  
  16. type
  17.   TTablePieForm = class(TForm)
  18.     DBChart1: TDBChart;
  19.     PieSeries1: TPieSeries;
  20.     Table1: TTable;
  21.     DataSource1: TDataSource;
  22.     DBGrid1: TDBGrid;
  23.     Panel1: TPanel;
  24.     Table1NAME: TStringField;
  25.     Table1SIZE: TSmallintField;
  26.     Table1WEIGHT: TSmallintField;
  27.     CheckBox1: TCheckBox;
  28.     RadioGroup1: TRadioGroup;
  29.     BitBtn1: TBitBtn;
  30.     procedure CheckBox1Click(Sender: TObject);
  31.     procedure RadioGroup1Click(Sender: TObject);
  32.     procedure PieSeries1Click(Sender: TChartSeries; ValueIndex: Integer;
  33.       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39.  
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. procedure TTablePieForm.CheckBox1Click(Sender: TObject);
  45. begin
  46.   Table1.Active:=CheckBox1.Checked;  { <-- open / close the table }
  47. end;
  48.  
  49. procedure TTablePieForm.RadioGroup1Click(Sender: TObject);
  50. begin
  51.   { change the Pie value source (the table field name) }
  52.   Case RadioGroup1.ItemIndex of
  53.     0: PieSeries1.PieValues.ValueSource:='Size';
  54.     1: PieSeries1.PieValues.ValueSource:='Weight';
  55.   end;
  56.   { change the Chart Foot text to display the current table Field }
  57.   DBChart1.Foot.Text[1]:='PieValueSource:=Table1'+
  58.                           PieSeries1.PieValues.ValueSource;
  59. end;
  60.  
  61. procedure TTablePieForm.PieSeries1Click(Sender: TChartSeries;
  62.   ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
  63.   Y: Integer);
  64. Const CarriageReturn=#13#10;
  65. begin
  66.   { On Clicked Pie, show the user the pie data }
  67.   With PieSeries1 do
  68.   ShowMessage( XLabel[ValueIndex] + CarriageReturn+
  69.                MarkPercent(ValueIndex,True) );
  70. end;
  71.  
  72. end.
  73.