以前都是用来定时触发事件。
不知道能否实现如下功能:
点击button1时,计时器打开;
再次点击button1时,计时器关闭,并把两次点击间的时间间隔显示在Edit1中(以微秒为单位)
如果不行的话,是不是有这种功能的组件?

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        iStart: Cardinal;
        iEnd: Cardinal;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      iStart := GetTickCount;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      iEnd := GetTickCount;
      ShowMessage(IntToStr(iEnd - iStart) + 'ms');
    end;end.
      

  2.   

    var i:integer;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
       if not timer1.enable then 
           i:=0;
       timer1.enabled=not tabler1.enable;
       edit1.text=intotst(I)
    end;timer:
       i:=i+1
      

  3.   

    timer没有us精度,10ms都没有。
    QueryPerformanceCounter
    QueryPerformanceFreqeuency;
    或者RDTSC指令;
    微秒级对windows来说太高了
      

  4.   

    转贴一个精确延时的函数,看看有帮助吗?
    procedure TFunc.DelayTime(MSecs:LongInt);
    var FirstTickCount,Now:LongInt;
    begin
      FirstTickCount:=GetTickCount;
      repeat
        Application.ProcessMessages;
        Now:=GetTickCount;
      until (Now-FirstTickCount>=MSecs) or (Now<FirstTickCount);
    end;
      

  5.   

    GetTickCount就是典型的10ms精度级。
      

  6.   

    呵呵..强的话..用系统级的TIME..
    C下面的一个库有一个_TIME
    不知道DELPHI下有没有..
      

  7.   

    GetTickCount和Timer都不能精确到1ms(好象他们只能精确到55ms),要想精度高还是用:QueryPerformanceCounter
    QueryPerformanceFreqeuency;

      

  8.   

    用线程,获得时间.
    timer不行.
      

  9.   

    获得线程执行时间用API
    nTime := GetTickCount();  //nTime为全局DWORD
    你程序段执行时间,即:GetTickCount()-nTime
      

  10.   

    没错,GetTickCount()精确度好像在10ms,
    用它来测试哪段程序的高效性,很不错的。
    看看它们分别的执行时间,呵呵