a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

Delphi實現毫秒級別的倒計時實例代碼

2020-01-31 20:51:23
字體:
來源:轉載
供稿:網友

本文以實例簡述了Delphi實現毫秒級別倒計時的方法。一般來說可以獲得系統的高性能頻率計數器在一毫秒內的震動次數,如果時鐘震動次數超過10毫秒的次數則刷新edit3的顯示,顯示從開始記數到記數實際經過的時間,具體實現代碼如下:

unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, mmsystem;type TForm1 = class(TForm)  Edit1: TEdit;  Edit2: TEdit;  Edit3: TEdit;  Button1: TButton;  Button2: TButton;  Timer1: TTimer;  Label1: TLabel;  Label2: TLabel;  Label3: TLabel;  procedure FormCreate(Sender: TObject);  procedure Button1Click(Sender: TObject);  procedure Timer1Timer(Sender: TObject);  procedure Button2Click(Sender: TObject); private  { Private declarations } public  { Public declarations } end;var Form1: TForm1; acttime1,acttime2:cardinal; smmcount,stimercount,spcount:single; htimeid:integer; iten:integer; protimecallback:tfntimecallback; procedure timeproc(utimerid, umessage: uint; dwuser, dw1, dw2: dword) stdcall; procedure proendcount;implementation{$R *.DFM}//timesetevent的回調函數procedure proendcount;begin acttime2:=gettickcount-acttime1; form1.button2.enabled :=false; form1.button1.enabled :=true; form1.timer1.enabled :=false; smmcount:=60; stimercount:=60; spcount:=-1; timekillevent(htimeid);end;procedure timeproc(utimerid, umessage: uint; dwuser, dw1, dw2: dword) stdcall;begin form1.edit2.text:=floattostr(smmcount); smmcount:=smmcount-0.01;end;procedure TForm1.FormCreate(Sender: TObject);begin button1.caption :='開始倒計時'; button2.caption :='結束倒計時'; button2.enabled :=false; button1.enabled :=true; timer1.enabled :=false; smmcount:=60; stimercount:=60; spcount:=60;end;procedure TForm1.Button1Click(Sender: TObject);var lgtick1,lgtick2,lgper:tlargeinteger; ftemp:single;begin button2.enabled :=true; button1.enabled :=false; timer1.enabled :=true; timer1.interval :=10; protimecallback:=timeproc; htimeid:=timesetevent(10,0,protimecallback,1,1); acttime1:=gettickcount; //獲得系統的高性能頻率計數器在一毫秒內的震動次數 queryperformancefrequency(lgper); ftemp:=lgper/1000; iten:=trunc(ftemp*10); queryperformancecounter(lgtick1); lgtick2:=lgtick1; spcount:=60; while spcount>0 do begin  queryperformancecounter(lgtick2);  //如果時鐘震動次數超過10毫秒的次數則刷新edit3的顯示  if lgtick2 - lgtick1 > iten then  begin   lgtick1 := lgtick2;   spcount := spcount - 0.01;   edit3.text := floattostr(spcount);   application.processmessages;  end; end;end;procedure TForm1.Timer1Timer(Sender: TObject);begin edit1.text := floattostr(stimercount); stimercount:=stimercount-0.01;end;procedure TForm1.Button2Click(Sender: TObject);begin proendcount; //顯示從開始記數到記數實際經過的時間 showmessage('實際經過時間'+inttostr(acttime2)+'毫秒');end;end.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产一区 | 国产成人在线视频观看 | 亚洲美女在线视频 | 毛片毛片毛片 | 国产精品毛片一区二区在线看 | 亚洲午夜精品一区二区三区 | 一级毛片视频 | 男人的天堂视频 | 国产精品久久久久久久久久免费 | 免费av一区 | 亚洲精品日韩综合观看成人91 | 一级一级黄色片 | 青青操av | 免费在线观看av | 国产高清在线精品 | 国产精品高潮呻吟久久av黑人 | 欧美精品一区二 | 久艹在线视频 | 精品一区二区三区免费 | 国产精品久久久久久久久久免费看 | 一区二区日韩视频 | 91精品视频在线播放 | 日本一区二区不卡 | 亚洲黑人在线观看 | 黄色片免费 | 福利一区二区在线 | 91精品国产一区二区 | 亚洲国产精品久久久久久女王 | 欧美日本亚洲 | 欧美视频在线观看免费 | 日本无卡视频 | 91激情在线 | 粉嫩高清一区二区三区精品视频 | 久久婷婷视频 | 欧美喷潮久久久xxxxx | 99re免费视频精品全部 | 国产午夜久久 | 男人的天堂久久 | 日韩一区二区三区精品 | 国产一区二区影院 | 国产中文区二幕区2012 |