2014-01-13 59 views
1

我已經開發了兩個按鈕的任務1和任務2的兩個過程。你知道如何創建新的按鈕,它可以重複前兩個按鈕的過程來執行任務1 + 2分配次數?如何重複一個按鈕的過程

+1

使用['actions'(HTTP://wiki.freepascal .org/TActionList)爲此目的。 – TLama

+0

「*重複...任務1 + 2分配次數*」意味着您按下2次Button1( - > Task1)和3次Button2( - > Task2)並在Button3上執行Task1;任務1; TASK2; TASK2; TASK2;'? –

+0

@TLama:行動在這裏如何幫助? – jpfollenius

回答

2

提取任務分解成不同的方法:

procedure TForm1.DoTask1; 
begin 
    .... 
end; 

procedure TForm1.DoTask2; 
begin 
    .... 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    DoTask1; 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
    DoTask2; 
end; 

然後用OnClick處理這樣添加一個新的按鈕:

procedure TForm1.Button3Click(Sender: TObject); 
var 
    i: Integer; 
begin 
    for i := 1 to N do 
    begin 
    DoTask1; 
    DoTask2; 
    end; 
end; 
+2

+1無論如何,這通常是一個好主意,因爲(a)方法名稱往往更加精確和翔實,(b)我們可以改變簽名,擺脫'Sender'參數等。 – jpfollenius

相關問題