delphi怎么计算程序运行时间

 我来答
windblast
2017-03-24 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

Delphi 语言的 DateUtils 单元提供了功能丰富的日期、时间函数,针对“计算程序运行时间”这一应用,可以参考使用以下功能函数:


  • Now :获取当前的日期和时间



Now 函数的 Note 提示,Now 获取的时间精确到最接近的秒,如果还需要更精确的时间(比如:毫秒级),可以考虑使用以下 Win API 函数:

GetLocalTime、GetSystemTime 或 GetTickCout 等。


  • MilliSecondsBetween 函数:计算两个时间之间的差值(按毫秒计算)



  • SecondsBetween 函数:计算两个时间之间的差值(按秒计算)



综合以上功能函数的资料,就可以着手编写应用的代码了,以下是示例:

var
  Form1: TForm1;
  AppTime: TDateTime;

implementation

uses System.DateUtils;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var SysTime: TSystemTime;
begin
  //AppTime = Now; //以秒计算时间

  GetLocalTime(SysTime);
  AppTime := SystemTimeToDateTime(SysTime);
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  SysTime: TSystemTime;
  CurTime: TDateTime;
begin
  //ShowMessage('程序共运行了 ' + SecondsBetween(AppTime,Now).ToString + ' 秒');

  GetLocalTime(SysTime);
  CurTime := SystemTimeToDateTime(SysTime);
  s := '程序共运行了 ' + MilliSecondsBetween(AppTime,CurTime).ToString + ' 毫秒';
  MessageBox(Handle, PChar(s), '信息提示', MB_OK + MB_ICONINFORMATION);
end;


代码运行截图:


无悔的青春396
2016-11-07 · 超过36用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:12.1万
展开全部
var
  StartTime, EndTime: cardinal;
begin
  StartTime := GetTickCount;
  sleep(1000);
  EndTime := GetTickCount;
  caption := (IntToStr(EndTime - StartTime) + ' ms');
end;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式