Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
2-1160829897
Sorvanets
2006-10-14 16:44
2006.10.29
Нужна программа тестирования


15-1160316660
@!!ex
2006-10-08 18:11
2006.10.29
Install Shield и реестр


1-1158304611
Ragazor
2006-09-15 11:16
2006.10.29
DLL with MDI...


15-1160481663
vecna
2006-10-10 16:01
2006.10.29
Как в рантайме создать класс...


2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский