Я разработал две процедуры из двух кнопок для задачи 1 и задачи 2. Знаете ли вы, как создать новую кнопку, которая может повторять процедуры двух предыдущих кнопок для выполнения задачи 1 + 2 в назначенное количество раз?Как повторить процедуру кнопки
1
A
ответ
2
Extract задачи в отдельные методы:
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 это часто хорошая идея, так как (а) имена методов имеют тенденцию быть намного точнее и информативнее, и (б) мы можем изменить подпись, избавиться от параметра «Отправитель» и т. Д. – jpfollenius
Используйте [ 'actions'] (HTTP: //wiki.freepascal .org/TActionList) для этой цели. – TLama
"* repeat ... task 1 + 2 в назначенное количество раз *" означает, что вы нажимаете 2 раза Button1 (-> Task1) и 3 раза Button2 (-> Task2), а на Button3 вы хотите выполнить 'Task1; Задание 1; Task2; Task2; Task2; '? –
@TLama: как действия здесь помогают? – jpfollenius