delphi怎么计算程序运行时间

delphi怎么计算程序运行时间,第1张

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

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

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

GetLocalTime、GetSystemTime 或 GetTickCout 等。

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

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

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

var

  Form1: TForm1;

  AppTime: TDateTime;

implementation

uses SystemDateUtils;

{$R dfm}

procedure TForm1FormCreate(Sender: TObject);

var SysTime: TSystemTime;

begin

  //AppTime = Now; //以秒计算时间

  GetLocalTime(SysTime);

  AppTime := SystemTimeToDateTime(SysTime);

end;

procedure TForm1FormDestroy(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;

代码运行截图:

是不是这张这样的

呵呵,源码是:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, OleCtrls, SHDocVw;

type

TForm1 = class(TForm)

WebBrowser1: TWebBrowser;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R dfm}

procedure TForm1FormCreate(Sender: TObject);

begin

webbrowser1Navigate('>

end;

end

获取文件的修改时间你看看下面的方法能不能用:

Windows 提供一个函数 GetFileTime 做此项 *** 作,在 Delphi 中可方便地调用,示例如下:

procedure GetFileLastAccessTime(FileName: PChar);

var

CreateFT, LastAccessFT, LastWriteFT: TFileTime;

ST: TSystemTime;

F: Integer;

begin

{ 首先要用Windows的标准API函数以读方式打开文件 }

F := CreateFile(FileName, GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

if F=INVALID_HANDLE_VALUE then

begin

ShowMessage(’Can not open file!’);

Exit;

end;

{ 取文件时间 }

if GetFileTime(F, @CreateFT, @LastAccessFT, @LastWriteFT) then

begin

{ 转换为系统时间并显示 }

FileTimeToSystemTime(LastAccessFT, ST);

Label1Caption := Format(’%d-%d-%d, %d:%d:%d’,

[STwYear, STwMonth, STwDay, STwHour, STwMinute,STwSecond]);

end;

CloseHandle(F); { 记住关闭文件 }

end;

Date 传回目前的日期

Unit SysUtils

函数原型 function Date: TDateTime;

范例 procedure TForm1Button1Click(Sender: TObject);

begin

Label1Caption := 'Today is ' + DateToStr(Date);

end;

------------------------------------------

DateTimeToStr 日期时间转换成内定型字串(1996/12/20 09:12:20 PM)

------------------------------------------

Unit SysUtils

函数原型 function DateTimeToStr(DateTime: TDateTime): string;

范例 procedure TForm1Button1Click(Sender: TObject);

begin

Label1Caption := DateTimeToStr(Now);

end;

--------------------------------------------------------

DateTimeToString 日期时间转换成自定型字串

-------------------------------------------------------

Unit SysUtils

函数原型 procedure DateTimeToString(var Result: string; const Format:

string; DateTime: TDateTime);

范例 procedure TForm1FormCreate(Sender: TObject);

var

s:string;

begin

DateTimeToString(s,'dddd,mmmm d,yyyy "at" hh:mm

AM/PM',Now);

Label1Caption :=s;

end;

结果 星期五,十二月 20,1996 at 09:20 PM

-----------------------------------------------------------------------------

Format格式叁考下面FormatDateTime

--------------------------------------------------------

DateToStr 日期转换成内定型字串(1996/12/20)

--------------------------------------------------------

Unit SysUtils

函数原型 function DateToStr(Date: TDateTime): string;

范例

procedure TForm1Button1Click(Sender: TObject);

begin

Label1Caption := 'Today is ' + DateToStr(Date);

end;

# Date, DateToStr Example

--------------------------------------------------------

DayOfWeek 求叁数日期是星期几

--------------------------------------------------------

Unit SysUtils

函数原型 function DayOfWeek(Date: TDateTime): Integer;

说明 传回值是一整数,1~7

星期日为1

范例

procedure TForm1Button1Click(Sender: TObject);

var

ADate: TDateTime;

days: array[17] of string;

begin

days[1] := 'Sunday';

days[2] := 'Monday';

days[3] := 'Tuesday';

days[4] := 'Wednesday';

days[5] := 'Thursday';

days[6] := 'Friday';

days[7] := 'Saturday';

ADate := StrToDate(Edit1Text);

ShowMessage(Edit1Text + ' is a ' + days[DayOfWeek(ADate)];

end;

# StrToDate, DayOfWeek Example

--------------------------------------------------------

DecodeDate 将TDateTime型态的日期变数,转为Word型态

--------------------------------------------------------

范例

procedure TForm1Button1Click(Sender: TObject);

var

Present: TDateTime;

Year, Month, Day, Hour, Min, Sec, MSec: Word;

begin

Present:= Now;

DecodeDate(Present, Year, Month, Day);

Label1Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '

+ IntToStr(Month) + ' of Year ' + IntToStr(Year);

DecodeTime(Present, Hour, Min, Sec, MSec);

Label2Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour '

+ IntToStr(Hour);

end;

# DecodeDate, DecodeTime Example

--------------------------------------------------------

DecodeTime 将TDateTime型态的时间变数,转为Word型态

--------------------------------------------------------

Unit SysUtils

函数原型 procedure DecodeDate(Date: TDateTime; var Year, Month,Day: Word);

函数原型 procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec,MSec: Word);

范例 procedure TForm1Button1Click(Sender: TObject);

var

Present: TDateTime;

Year, Month, Day, Hour, Min, Sec, MSec: Word;

begin

Present:= Now;

DecodeDate(Present, Year, Month, Day);

Label1Caption := 'Today is Day ' + IntToStr(Day) + ' of

Month ' + IntToStr(Month) + ' of Year ' + IntToStr(Year);

DecodeTime(Present, Hour, Min, Sec, MSec);

Label2Caption := 'The time is Minute ' +IntToStr(Min) + ' of

Hour ' + IntToStr(Hour);

end;

--------------------------------------------------------

EncodeDate 将Word型态的日期变数,转为TDateTime型态

--------------------------------------------------------

范例

procedure TForm1Button1Click(Sender: TObject);

var

MyDate: TDateTime;

begin

MyDate := EncodeDate(StrToInt(Edit1Text), StrToInt(Edit2Text), StrToInt(Edit3Text));

Label1Caption := DateToStr(MyDate);

end;

-------------------------------------------------------

EncodeTime 将Word型态的时间变数,转为TDateTime型态

--------------------------------------------------------

Unit SysUtils

函数原型 function EncodeDate(Year, Month, Day: Word): TDateTime;

函数原型 function EncodeTime(Hour, Min, Sec, MSec: Word):

TDateTime;

范例 procedure TForm1Button1Click(Sender: TObject);

var

MyDate: TDateTime;

MyTime: TDateTime;

begin

MyDate := EncodeDate(83, 12, 31);

Label1Caption := DateToStr(MyDate);

MyTime := EncodeTime(0, 45, 45, 7);

Label2Caption := TimeToStr(MyTime);

end;

范例

procedure TForm1Button1Click(Sender: TObject);

var

MyTime: TDateTime;

begin

MyTime := EncodeTime(0, 45, 45, 7);

Label1Caption := TimeToStr(MyTime);

end;

--------------------------------------------------------

FormatDateTime 将日期时间依Format的格式转换给一字串

--------------------------------------------------------

Unit SysUtils

函数原型 function FormatDateTime(const Format: string; DateTime:

TDateTime): string;

类似DateTimeToString

Format格式

c 内定值ShortDateFormat的格式(1996/12/20 09:20:15 PM)

d 日期,前面不补0(1-31)

dd 日期,前面补0(01-31)

ddd 星期(星期日)

Dddd 中文201版,同上

ddddd 日期(1996/12/20)

dddddd 日期(1996年12月20日)

m 月份,前面不补0(1-12)

mm 月份,前面补0(01-12)

mmm 中文显示(十二月)

mmmm 中文201版,同上

Yy 年度(00-99)

yyyy 年度(0000-9999)

h 小时(0-23)

hh 小时(00-23)

n 分钟(0-59)

nn 分钟(00-59)

s 秒钟(0-59)

ss 秒钟(00-59)

t 时间(09:20 PM)

tt 时间(09:20:15 PM)

am/pm 单独显示am or pm(若大写,则显示大写)

a/p 单独显示a or p

范例

The following example assigns 'The meeting is on Wednesday, February 15, 1995 at 10:30 AM' to the string variable S

S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM',

StrToDateTime('2/15/95 10:30am'));//

--------------------------------------------------------

Now 传回目前的日期时间

--------------------------------------------------------

Unit SysUtils

函数原型 function Now: TDateTime;

范例

procedure TForm1Button1Click(Sender: TObject);

begin

Label1Caption := DateTimeToStr(Now);

end;

# Now, DateTimeToStr Example

--------------------------------------------------------

StrToDate 将字串转为TDateTime型态的日期

--------------------------------------------------------

Unit SysUtils

函数原型 function StrToDate(const S: string): TDateTime;

范例 procedure TForm1Button1Click(Sender: TObject);

var

ADate: TDateTime;

begin

ADate := StrToDate(Edit1Text);

Label1Caption := DateToStr(ADate);

end;

范例

procedure TForm1Button1Click(Sender: TObject);

var

ADate: TDateTime;

days: array[17] of string;

begin

days[1] := 'Sunday';

days[2] := 'Monday';

days[3] := 'Tuesday';

days[4] := 'Wednesday';

days[5] := 'Thursday';

days[6] := 'Friday';

days[7] := 'Saturday';

ADate := StrToDate(Edit1Text);

ShowMessage(Edit1Text + ' is a ' + days[DayOfWeek(ADate)];

end;

# StrToDate, DayOfWeek Example

--------------------------------------------------------

StrToDateTime 将字串转为TDateTime型态的日期时间

--------------------------------------------------------

Unit SysUtils

函数原型 function StrToDateTime(const S: string): TDateTime;

范例

procedure TForm1Button1Click(Sender: TObject);

var

ADateAndTime: TDateTime;

begin

ADateAndTime := StrToDateTime(Edit1Text);

Table1FieldByName('TimeStamp')AsDateTime := ADateAndTime;

end;

--------------------------------------------------------

StrToTime 将字串转为TDateTime型态的时间

--------------------------------------------------------

Unit SysUtils

函数原型 function StrToTime(const S: string): TDateTime;

范例

procedure TForm1Button1Click(Sender: TObject);

var

ATime: TDateTime;

begin

ATime := StrToTime(Edit1Text);

if ATime < 050 then

ShowMessage('Good Morning')

else

ShowMessage('Good Afternoon');

end;

--------------------------------------------------------

Time 传回目前的时间

--------------------------------------------------------

Unit SysUtils

函数原型 function Time: TDateTime;

范例

procedure TForm1Timer1Timer(Sender: TObject);

var

DateTime : TDateTime;

str : string;

begin

DateTime := Time; // store the current date and time

str := TimeToStr(DateTime); // convert the time into a string

Caption := str; // display the time on the form's caption

{ Note This could have been done with the following line of code:

Caption := TimeToStr(Time); }

end;

# Time, TimeToStr Example

--------------------------------------------------------

TimeToStr 时间转换成内定型字串(09:20:15 PM)

--------------------------------------------------------

Unit SysUtils

函数原型 function TimeToStr(Time: TDateTime): string;

GetMem procedure 配置记忆体程序

New 配置指位器P的记忆体空间,

大小为P所指型态的大小

--------------------------------------------------------

Dispose 释放New所配置的记忆体

--------------------------------------------------------

Unit System

函数原型 procedure New(var P: Pointer);

函数原型 procedure Dispose(var P: Pointer);

范例 type

PListEntry = ^TListEntry;

TListEntry = record

Next: PListEntry;

Text: string;

Count: Integer;

end;

var

List, P: PListEntry;

begin

New(P);

P^Next := List;

P^Text := 'Hello world';

P^Count := 1;

List := P;

Dispose(P);

end;

范例

type

Str18 = string[18];

var

P: ^Str18;

begin

New(P);

P^ := 'Now you see it';

Dispose(P); { Now you don't }

end;

--------------------------------------------------------

GetMem 配置指位器P的记忆体空间,大小可自行设定

--------------------------------------------------------

范例

var

F: file;

Size: Integer;

Buffer: PChar;

begin

AssignFile(F, 'testtxt');

Reset(F, 1);

try

Size := FileSize(F);

GetMem(Buffer, Size);

try

BlockRead(F, Buffer^, Size);

ProcessFile(Buffer, Size);

finally

FreeMem(Buffer);

end;

finally

CloseFile(F);

end;

end;

系统相关的常用时间函数几乎都在这了你问的问题每个准只能这么答了

以上就是关于delphi怎么计算程序运行时间全部的内容,包括:delphi怎么计算程序运行时间、delphi获取http://open.baidu.com/static/time/beijingtime.html 北京时间 - 国家授时中心标准时间!在程、delphi idftp 获取修改时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10144602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存