delphi 延遲、goto....

樓主

問題1.

想請問延遲的函數

程式碼A

程式碼B

延遲一秒

程式碼C

執行程式後,執行程式碼A和程式碼B,之後延遲一秒,再執行程式碼C

SLEEP函數會假性當機,所以不使用...

問題2.

VB6有GOTO的函數

想請問DELPHI是否有相同函數..

標籤Z:

程式碼A

程式碼B

IF ... THEN GOTO 標籤Z

程式碼C

執行程式後,執行程式碼A和程式碼B,若達到條件之後,跳轉到標籤Z,然後再程式碼A和程式碼B...

麻煩板上高手,指點我這兩個問題,謝謝^^

2 Answers

Rating
  • 是我
    Lv 5
    1 decade ago
    Favorite Answer

    問題1.

    假設您已有一個 Timer1 的 Object (Enabled 為 false, Interval = 1000):

    procedure Foo;

    begin

    程式碼A

    程式碼B

    TTimer1.Enabled := true;

    end;

    procedure Timer1.Timer;

    begin

    程式碼C

    TTimer1.Enabled := false;

    end;

    問題2.

    『VB6有GOTO的函數 想請問DELPHI是否有相同函數..』

    Sure,

    procedure Foo;

    label // 以 label 宣告標籤

    Label1, Label2;

    begin

    if Timer1.Enabled then

    goto Label1

    else

    goto Label2;

    Label1:

    goto Label2;

    Label2:

    ShowMessage('Goal Reached!');

    end;

  • 1 decade ago

    其實你所謂的延遲用 Sleep 也沒錯,

    用 Timer 會每隔一段時間觸發一次,所以你只要延遲,就不能用 Timer。

    Goto 最好少用,其實等你程式寫熟了也就不需要用 Goto。

Still have questions? Get your answers by asking now.