RAD Studio 10.2.3 测试√
源码仓库(Gitee):https://gitee.com/xiaoyinhui
这个计时精度是根据自己电脑硬件配置决定的
我目前的可以精确到 0.1 微秒
PS:需要引用单元 uHightAccuracyTimer 该单元在Git仓库有源码
// 我这里是在窗体创建的时候创建 高精度计时器类对象
procedure TForm_Mmain.FormCreate(Sender: TObject);
begin
Button_2.Enabled := False;
U_Timer := THightAccuracyTimer.Create;
Memo_1.Lines.Add('计时频率=' + IntToStr(U_Timer.CPUFrequency));
Memo_1.Lines.Add('===========================');
end;
// 这里开始计,是记录开始计时数据
procedure TForm_Mmain.Button_1Click(Sender: TObject);
begin
Button_1.Enabled := False;
Button_2.Enabled := True;
U_Timer.StartTimer;
Memo_1.Lines.Add('开始计时=' + IntToStr(U_Timer.StartTime));
end;
// 可以按照自己的需求选择不同的方法
procedure TForm_Mmain.Button_2Click(Sender: TObject);
begin
Button_2.Enabled := False;
Button_1.Enabled := True;
// Memo_1.Lines.Add('从开始到结束时间=' + U_Timer.GetSecondFromS2EStr + ' 秒');
Memo_1.Lines.Add('从开始到结束时间=' + U_Timer.GetMillSecondFromS2EStr + ' 毫秒');
// Memo_1.Lines.Add('从开始到结束时间=' + U_Timer.GetMicroSecondFromS2EStr + ' 微秒');
Memo_1.Lines.Add('结束计时=' + IntToStr(U_Timer.EndTIme));
Memo_1.Lines.Add('---------------------------');
end;
procedure TForm_Mmain.FormDestroy(Sender: TObject);
begin
if U_Timer <> nil then
FreeAndNil(U_Timer);
end;
一点点笔记,以便以后翻阅。