mainunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:3k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit mainunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ComCtrls, ExtCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     Button2: TButton;
  10.     Label1: TLabel;
  11.     Label2: TLabel;
  12.     ProgressBar1: TProgressBar;
  13.     Label3: TLabel;
  14.     Button3: TButton;
  15.     Button4: TButton;
  16.     Label4: TLabel;
  17.     Timer1: TTimer;
  18.     procedure Button1Click(Sender: TObject);
  19.     procedure FormCreate(Sender: TObject);
  20.     procedure Timer1Timer(Sender: TObject);
  21.     procedure Button2Click(Sender: TObject);
  22.     procedure Button4Click(Sender: TObject);
  23.     procedure Button3Click(Sender: TObject);
  24.   private
  25.     { Private declarations }
  26.     WasteTime:Integer;
  27.   public
  28.     { Public declarations }
  29.   end;
  30. var
  31.   Form1: TForm1;
  32. implementation
  33. {$R *.dfm}
  34. procedure TForm1.Button1Click(Sender: TObject);
  35. var
  36.   V1: Variant;
  37. begin
  38.   V1 := 0;
  39.   Form1.ProgressBar1.Position := 0;
  40.   Timer1.Enabled:=True;
  41.   WasteTime:=0;
  42.   Label1.Caption:='Variant类型运行时间:';
  43.   Label1.Font.Color:=ClBlack;
  44.   while V1 < 5000000 do
  45.   begin
  46.    Inc (V1);
  47.    if (V1 mod 50000) = 0 then
  48.     begin
  49.       ProgressBar1.Position := V1 div 50000;
  50.       Application.ProcessMessages;
  51.     end;
  52.   end;
  53.   Timer1.Enabled:=False;
  54.   Label1.Caption :=Label1.Caption+IntToStr(WasteTime)+'秒.';
  55.   Label1.Font.Color:=ClRed;
  56.   WasteTime:=0;
  57. end;
  58. procedure TForm1.FormCreate(Sender: TObject);
  59. begin
  60.  WasteTime:=0;
  61. end;
  62. procedure TForm1.Timer1Timer(Sender: TObject);
  63. begin
  64.  WasteTime:=WasteTime+1;
  65. end;
  66. procedure TForm1.Button2Click(Sender: TObject);
  67. var
  68.   V1: Integer;
  69. begin
  70.   V1 := 0;
  71.   Form1.ProgressBar1.Position := 0;
  72.   Timer1.Enabled:=True;
  73.   WasteTime:=0;
  74.   Label2.Caption:='Integer整型运行时间:';
  75.   Label2.Font.Color:=ClBlack;
  76.   while V1 < 5000000 do
  77.   begin
  78.    Inc (V1);
  79.    if (V1 mod 50000) = 0 then
  80.     begin
  81.       ProgressBar1.Position := V1 div 50000;
  82.       Application.ProcessMessages;
  83.     end;
  84.   end;
  85.   Timer1.Enabled:=False;
  86.   if (WasteTime<1 )then
  87.    Label2.Caption :=Label2.Caption+'少于1秒.'
  88.   else
  89.    Label2.Caption :=Label2.Caption+IntToStr(WasteTime)+'秒.';
  90.   Label2.Font.Color:=ClBlue;
  91.   WasteTime:=0;
  92. end;
  93. procedure TForm1.Button4Click(Sender: TObject);
  94. var
  95.   V1: Double;
  96. begin
  97.   V1 := 0;
  98.   Form1.ProgressBar1.Position := 0;
  99.   Timer1.Enabled:=True;
  100.   WasteTime:=0;
  101.   Label4.Caption:='Real实型运行时间:';
  102.   Label4.Font.Color:=ClBlack;
  103.   while V1 < 5000000 do
  104.   begin
  105.     V1:=V1+1;
  106.     if (Round(V1) mod 50000) = 0 then
  107.     begin
  108.       ProgressBar1.Position :=Round(V1) div 50000;
  109.       Application.ProcessMessages;
  110.     end;
  111.   end;
  112.   Timer1.Enabled:=False;
  113.   if (WasteTime<1 )then
  114.    Label4.Caption :=Label4.Caption+'少于1秒.'
  115.   else
  116.    Label4.Caption :=Label4.Caption+IntToStr(WasteTime)+'秒.';
  117.   Label4.Font.Color:=ClYellow;
  118.   WasteTime:=0;
  119. end;
  120. procedure TForm1.Button3Click(Sender: TObject);
  121. begin
  122.  Close;
  123. end;
  124. end.