delphi timer傳遞參數

delphi內的timer控件,我想傳遞參數給timer控件,不知道如何寫...

procedure TForm1.TimerWaittimer(Sender: TObject);

我想傳遞兩個值給timer~

例如TForm1.TimerWaittimer(x,y)

x和y都是數字,麻煩各位了...

已更新項目:

我使用了另一個方法來解決上面的問題了。

我想問...我在網路上找到一個延遲代碼

2 個已更新項目:

procedure delay(msecs:integer);

var

Tick: DWord;

Event: THandle;

begin

Event := CreateEvent(nil, False, False, nil);

try

Tick := GetTickCount + DWord(msecs);

while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <> WAIT_TIMEOUT) do

3 個已更新項目:

begin

Application.ProcessMessages;

msecs := Tick - GetTickcount;

end;

finally

CloseHandle(Event);

end;

4 個已更新項目:

我應該如何添加並且使用呢?

謝謝

5 個已更新項目:

我想要達成延遲的目的

可是我不希望用sleep

因為sleep會有當機的假象

這是我在網路上找的延遲函數,我希望延遲幾秒鐘之後,再繼續往下執行程式碼~

麻煩了

6 個已更新項目:

請問timer該如何使用,才能達到

『延遲幾秒鐘之後,再繼續往下執行程式碼』呢?

謝謝^^

7 個已更新項目:

另外想請問,timer有沒有辦法設定,執行幾次之後

把enable:=true變成Flase呢?

謝謝

1 個解答

評分
  • 是我
    Lv 5
    1 0 年前
    最佳解答

    Timer 的 Event Handler 就是使有一個參數,而且一般來說不是由使用者程式呼叫傳入的 (除非您真的自行呼叫該 procedure)。

    真正的問題是:您傳兩了值給 Timer Object 要它為您做啥 ?

    2010-08-02 12:14:55 補充:

    『我應該如何添加並且使用呢』

    還是要這麼問:整個機制是要達成啥目的 ?

    procedure delay 中使用的“Application.ProcessMessages”,會在某些情形下造成您難以除錯的問題。

    清楚描述您的需求,說不定幾行程式即可解決您的原始問題。

    2010-08-03 07:45:05 補充:

    『我希望延遲幾秒鐘之後,再繼續往下執行程式碼』

    僅僅這樣的需求的話,使用 Timer 應即可達成您的目的了 ~~

    2010-08-06 08:50:38 補充:

    『延遲幾秒鐘之後,再繼續往下執行程式碼』:

    請參考 delphi 延遲、goto....

    『timer有沒有辦法設定,執行幾次之後 把enable:=true變成Flase呢』:

    Delphi 原生的 Timer 不提供此功能,您可自行另設一變數紀錄執行次數,或使用Third Party 的 Timer,如 Rx Library 的 RxTimerList 即有這項設定功能。

還有問題?馬上發問,尋求解答。