首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 程序开发 > Delphi > 正文
  • Delphi设计形象的动态三维饼图
      2007-3-16  来源:网络资源  编辑:Jsbulo  热度:

      在进行数据比较或者演示时,一个形象的图表不但非常直观,而且也很生动。本实例介绍如何在Delphi中设计形象的三维饼图。

      向窗体上添加一个TVtChart组件和一个TTimer组件,其中TVtChart组件用于显示饼图,而TTimer组件用于不停地改变饼图的数据,获得动态的效果。设计完成的主界面如图1所示。

      程序首先在uses段中加入math单元,然后在窗体的初始化过程中添加Randomize()语句,使得每次运行程序时重新产生随机数,以免同前一次运行的随机数相同。

      为了产生动态的饼图,在TTimer组件的响应过程中添加以下代码: procedure TForm1.Timer1Timer(Sender: TObject);

      

      begin

      

      self.VtChart1.Row:=0;

      

      self.VtChart1.Column:=0;

      

      self.VtChart1.Data:=FloatToStr(Random(200));

      

      end;

      TTimer组件Interval属性设置为1000,也就是每隔1000毫秒,程序就会改变一次饼途中第1行第1列的数据。

      程序代码如下:

      

      unit Unit1;

      interface

      

      uses

      

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      

      Dialogs, OleCtrls, VCFI, ExtCtrls, math;

      

      type

       TForm1 = class(TForm)

       VtChart1: TVtChart;

       Timer1: TTimer;

       procedure Timer1Timer(Sender: TObject);

       procedure FormCreate(Sender: TObject);

      private

       { Private declarations }

      public

       { Public declarations }

      end;

      var

       Form1: TForm1;

       implementation

       {$R *.dfm}

      

      procedure TForm1.Timer1Timer(Sender: TObject);

      begin

       self.VtChart1.Row:=0;

       self.VtChart1.Column:=0;

       self.VtChart1.Data:=FloatToStr(Random(200));

      end;

      

      procedure TForm1.FormCreate(Sender: TObject);

      begin

       Randomize();

      end;

      end.

      保存文件,然后按F9键运行程序。在程序运行过程中,饼图会不断地变化,如图2所示。

      TVtChart组件不但可以显示饼图,还可以显示很多种三维和二维的图形,如果能够充分利用的话,会使自己的程序增色不少。