Форум программистов

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Форум программистов (https://programmersforum.ru/index.php)
-   Общие вопросы Delphi (https://programmersforum.ru/forumdisplay.php?f=2)
-   -   9 схожих процедур (https://programmersforum.ru/showthread.php?t=346930)

Kronos913 22.04.2024 21:54

9 схожих процедур
 
Обнаружил у себя в программе 9 процедур-реакций, которые состоят из одного оператора - вызова однотипной функции с одним и тем же параметром.

Вопрос: какие есть идеи, как сделать так, чтобы была одна процедура-реакция которая будет понимать какая кнопка ее вызвала и вызывала соответствующую процедуру?

Код:

procedure TForm1.But11C(Sender: TObject);
begin
 F1_Bt_10(false);
end;

procedure TForm1.But17C(Sender: TObject);
begin
 ImgVisPer(false);
end;

procedure TForm1.But28C(Sender: TObject);
begin
 Panel4_Visible(false);
end;

procedure TForm1.But32C(Sender: TObject);
begin
 ImgVisPer_3(false);
end;

procedure TForm1.But35C(Sender: TObject);
begin
 Panel8_Visible(false);
end;

procedure TForm1.CHB_Panels_F_X(Sender: TObject);
begin
 F1_CHB_Panels_F_V(false);
end;

procedure TForm1.F1_Folders_Exit(Sender: TObject);
Begin
  F1_Folders_Visible(false);
End;

procedure TForm2.MultiCut_Close(Sender: TObject);
begin
  MultiCut_Visible(false);
end;

procedure TForm3.But10C(Sender: TObject);
begin
 F3_Pnl1(false);
end;


p51x 22.04.2024 22:17

case по Tag, массив функции и Tag как индекс и т.д.

northener 23.04.2024 02:32

Цитата:

Сообщение от Kronos913 (Сообщение 1865705)
Обнаружил у себя в программе 9 процедур-реакций, которые

О сколько нам открытий чудных готовит троешника дух!

Цитата:

Сообщение от Kronos913 (Сообщение 1865705)
Вопрос: какие есть идеи, как сделать так, чтобы была одна процедура-реакция которая будет понимать какая кнопка ее вызвала и вызывала соответствующую процедуру?

А нафига? Вы сами-то потом разберетесь в этой процедуре-реакции? Или это опять стремление уменьшить код на пол-копейки?

Vapaamies 23.04.2024 04:52

Цитата:

Сообщение от Kronos913 (Сообщение 1865705)
одна процедура-реакция которая будет понимать какая кнопка ее вызвала

Для этого и нужен параметр Sender.


11:02.