Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Простой вопрос по Object Pascal.


Страницы:   1 2

Kostafey ©   (2006-11-24 22:26:00) 

Подскажите пожалуйста как можно разделить реализацию класса на несколко модулей (файлов).
Или же просто есть ли Delphi команда аналогичная #include'Somefile' в С++


Kostafey   (2006-11-24 23:01:00) [21]

> Так ты предпочитаешь листать несколько файлов :-)
> Может дойти до конца? Каждая строчка один файл?

Да, я согласен правда в этом есть. У меня вообще никакого опата разработки болших проектова нет. (для кого-то он будет и маленьким)
Вот такая конструкция сама по себе не очень красивая, а если вместо {$INCLUDE 'SQL_a1.pas'} будут мои 171 строка кода все становиться
нечитаемым, а сами 171 строчка уже отлажены. Вот я подумал убрать их в файл от греха подальше.


begin
 with DataModule_ABR.ADODataSet1 do
 BEGIN
     Result:=true;
     Active:=false;
     DataModule_ABR.ADODataSet2.Active:=false;
     case ABR_kind of
       a0:begin
            MessageDlg('Ionoie cai?in', mtInformation, [mbOK], 0);
            Result:=false;
          end;
       a1:begin  //Aiaeec aeaia auacaia
         {$INCLUDE 'SQL_a1.pas'}
          end;
       a2:begin  //Aiaeec ?ani?aaaeaiey auacaia ii ?aiaai ii?a?a
          CommandText :='Select PCH.PCH_NAME, ZVK1.RANK,  count(Zvk1.PCH_COD) as Acount '+
                         'from PCH, ZVK1 '+
                         'Where (ZVK1.PCH_COD=*PCH.PCH_COD) and (DATE_ZVK1 between :DateFrom and :DateTo) '+
                         'group by PCH.PCH_NAME, ZVK1.RANK '+
                         'order by PCH.PCH_NAME, ZVK1.RANK ';

           Parameters.ParamByName('DateFrom').Value:=Per_beg;
           Parameters.ParamByName('DateTo').Value:=Per_end;
          end;
       else
         MessageDlg('Ioeai?iue cai?in', mtError, [mbOK], 0);
         Result:=false;
     end; //case
     if Result then Active:=true;
 END;
end;


Anatoly Podgoretsky   (2006-11-24 22:49:00) [22]

> Kostafey  (24.11.2006 22:39:02)  [2]

Так ты предпочитаешь листать несколько файлов :-)
Может дойти до конца? Каждая строчка один файл?


Sergey Masloff   (2006-11-24 22:49:00) [23]

Раздели класс на несколько более мелких. Один будет интерфейсом для остальных. Только это извращение


Anatoly Podgoretsky   (2006-11-24 22:48:00) [24]

> Kostafey  (24.11.2006 22:26:00)  [0]

Есть так и называется include, только идеология не верная, отлаживать тяжело, что за необходимость такая разбивать на несколько файлов, и не называей это модулем, с модулями как раз полный порядок.


Kostafey   (2006-11-24 22:39:00) [25]

> {$I} + F1
> только на кой это тебе

Да чтоб файл не листать. А так конечно нарушение принципов модульности.

А вот как можно разделить реализацию класса на несколко модулей непонятно.


Palladin   (2006-11-24 22:35:00) [26]

{$I} + F1
только на кой это тебе


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо