AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Delphi

Delphi设计形象的动态三维饼图

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

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


图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所示。


图2 变化中的饼图

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

 

 

 
上一篇:Delphi编程调用指定的Windows程序  下一篇:熊猫烧香核心源码(Delphi模仿版本)