Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

СтОит ли облегчать конструкцию.   Найти похожие ветки 

 
AntiUser ©   (2006-10-10 18:58) [0]

Т.е. бить на процедуры. С учетом того, что ни одна процедура не будет вызываться более одного раза и именно из той из которой буду бить.

procedure Tfrm_Main.dxSideBarChangeSelectedItem(Sender: TObject);
begin
 case dxSideBar.ActiveGroupIndex of
   0:
     begin
       case dxSideBar.SelectedItem.Index of
         0:
           begin

           end;
         1:
           begin

           end;
       end;
     end;
   1:
     begin
       case dxSideBar.SelectedItem.Index of
         0:
           begin

           end;
         1:
           begin

           end;
         2:
           begin

           end;
       end;
     end
 end;
end;

Или я наверное не очень ясно выразился?


 
Ketmar ©   (2006-10-10 19:09) [1]

зависит от сложности кода в операторных скобках.


 
Gero ©   (2006-10-10 19:13) [2]

> [0] AntiUser ©   (10.10.06 18:58)

Зачем лишниу begin...end? Они только усложняют конструкцию.


 
default ©   (2006-10-10 19:16) [3]

покажи код


 
Eraser ©   (2006-10-10 19:17) [4]

> [0] AntiUser ©   (10.10.06 18:58)

по-сабжу - согласен с [1].
но если бить, то так:

procedure Tfrm_Main.dxSideBarChangeSelectedItem(Sender: TObject);
 procedure Case0;
 begin
   case dxSideBar.SelectedItem.Index of
    0:
      begin

      end;
    1:
      begin

      end;
   end;
 end;

 procedure Case1;
 begin
   case dxSideBar.SelectedItem.Index of
    0:
      begin

      end;
    1:
      begin

      end;
    2:
      begin

      end;
   end;
 end;

begin
 case dxSideBar.ActiveGroupIndex of
  0:
    begin
      Case0;
    end;
  1:
    begin
      Case1;
    end
 end;
end;


 
Ketmar ©   (2006-10-10 19:19) [5]

а ещё можно сделать массив обработчиков и вызывать их одним оператором. а можно и другие варианты. всё зависит от конкретного кода. %-)


 
Kolan ©   (2006-10-10 19:32) [6]


> не будет вызываться более одного раза

Бить в любом(почти) случае. Даже если там всего 1 строчка будет.


 
Gero ©   (2006-10-10 19:33) [7]

> [4] Eraser ©   (10.10.06 19:17)

Мне кажется, что лучше дать нормальные имена, раскрывающие предназначение той или иной функции.


 
Gero ©   (2006-10-10 19:33) [8]

> [6] Kolan ©   (10.10.06 19:32)

Зачем бить, если одна строчка?


 
AntiUser ©   (2006-10-10 19:38) [9]

Конкретного кода нет, нахожусь в стадии проектирования, даже не уверен сколько будет групп и итемов в них, но в обработчике каждого кейса (итема) будет точно две строки. Некая активация и вызов процедуры, которая уже и будет заниматься действиями связанными с выводом данных.


 
Eraser ©   (2006-10-10 19:41) [10]

> [7] Gero ©   (10.10.06 19:33)

это само собой, но для этого надо знать

> предназначение той или иной функции.

я просто продемонстрировал одни из удобных подходов, про который частенько забывают.


 
Gero ©   (2006-10-10 19:45) [11]

> [9] AntiUser ©   (10.10.06 19:38)

Тогда заморачиваться не стоит, будет хорошо и так.



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
15-1160080302
Real
2006-10-06 00:31
2006.10.29
D-Link AP - странные глюки


2-1160914841
_Ламер_
2006-10-15 16:20
2006.10.29
Unicode - что это такое и с чем его едят?


15-1160398888
TJulia
2006-10-09 17:01
2006.10.29
Как угодить основным браузерам?


2-1160806186
dreamse
2006-10-14 10:09
2006.10.29
Запись в реестр с ограничеными правами


1-1158728490
sapsi
2006-09-20 09:01
2006.10.29
Произвольный цвет пункта меню в главном меню