程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi跨平台下的GetTickCount,GetCurrentThreadID,gettickcount

Delphi跨平台下的GetTickCount,GetCurrentThreadID,gettickcount

編輯:Delphi

Delphi跨平台下的GetTickCount,GetCurrentThreadID,gettickcount


在Windows下只要uses Windows,就有這兩個API可調用GetTickCount,GetCurrentThreadID

如果我們需要跨平台使用這兩個函數,就不能僅僅Uses Windows了。

如果需要跨平台使用GetTickCount,可以uses System.Classes,然後使用類方法:TThread.GetTickCount

如果需要跨平台使用GetCurrentThreadID,則僅需引用不同的單元即可:

uses 
{$ifdef MSWINDOWS}
Windows;
{$endif}
{$ifdef POSIX}
Posix.Pthread;
{$endif}


delphi7的GetTickCount作用與用法

這個段程序是一個“延時”過程。
GetTickCount是返回一個DWORD類型,其返回的值是自系統啟動以來所經歷的時間,單位:毫秒。
此段代碼基本原理就是:
先GetTickCount取值賦於Start_Time,然後不停的循環用GetTickCount來和Start_Time來相減,直到這個差值大於參數DelayTime則退出循環結束過程,從而達到延時的目的。為了不造成程序因此間循環而停止響應,故在循環中用了Application.ProcessMessage來手動使程序響應系統信息。
 

delphi7怎實現按下一個按鈕程序自動按順序每500ms執行一項更改EditText值,有多個需更改項目

procedure Delay(dwMilliseconds: DWORD); //Longint
var
iStart, iStop: DWORD;
begin
iStart := GetTickCount;
repeat
iStop := GetTickCount;
Application.ProcessMessages;
until (iStop - iStart) >= dwMilliseconds;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
T:Tedit;
begin
for i := 1 to 3 do
begin
T:=Findcomponent('Edit'+inttostr(i)) as TEdit;
if T<>nil then T.Text:='str'+inttostr(i);
delay(500);
end;
ShowMessage('OK');
end;
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved