在進行數據比較或者演示時,一個形象的圖表不但非常直觀,而且也很生動。本實例介紹如何在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組件不但可以顯示餅圖,還可以顯示很多種三維和二維的圖形,如果能夠充分利用的話,會使自己的程序增色不少。