Показать сообщение отдельно
  #22  
Старый 17.10.2012, 10:44
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Объясните кратко и доступно какие преимущества даст ваш подход.
Кратко и доступно я уже объяснил. Попробую подробнее теперь.

Что для тебя было бы удобнее, например, при построении дерева категорий из базы?
1. Следующий код
Код:
procedure TForm1.GetNodeFromDB(Parent: TTreeNode; ID: Integer);
var
  RS:_Recordset;
  SQLStr:string;
  TmpTN:TTreeNode;
  TmpStr:string;
  TmpInt:integer;
begin

  SQLStr:='SELECT ' + CatSystem.CatName + ' FROM ' + CatSystem.Name +
  ' WHERE ' + CatSystem.ID + '=' + IntToStr(ID);
  rs:=ADOCon.Execute(SQLStr);
  if RS.RecordCount=1 then
  begin
    SetLength(CatIDs,Length(CatIDs)+1);
    CatIDs[High(catids)]:=ID;
    TmpStr:=VarToStr(RS.Fields.Item[CatSystem.CatName].Value) + ' (' + IntToStr(ID) + ')';
    tmptn:=tv1.Items.AddChildObject(Parent,TmpStr,Pointer(CatIDs[High(catids)]));
    TmpTN.SelectedIndex:=1;
    SQLStr:='SELECT ' + CatSystem.ID + ' FROM ' + CatSystem.Name +
    ' WHERE ' + CatSystem.CatParent + '=' + IntToStr(ID);
    rs:=ADOCon.Execute(SQLStr);
    if RS.RecordCount>0 then
    begin
      rs.MoveFirst;
      while not RS.EOF do
      begin
        tmpint:=Integer(RS.Fields.Item[CatSystem.ID].Value);
        GetNodeFromDB(TmpTN,TmpInt);
        RS.MoveNext;
      end;
    end;
    //tmptn:=TTreeNode.Create();

  end;
end;
или

2. Вызов такого метода, функции и процедуры для которого уже написаны?
Код:
ObjectSystem.FeelingTree(tv:ttreeview;RootCat:integer);

Это пример необходимости создания класса для управления системой. Теперь приведу пример, для чего вообще нужна эта система.

Какой базой проще рулить, в которой у тебя 5-100 небольших таблиц (и их количество может меняться в зависимости от потребностей, а права на создание есть не у всех пользователей, придется разруливать назначением прав и тд) или базой где всего 4-5 таблиц на все случаи жизни и создавать/удалять ничего не требуется, только создавать удалять записи в уже созданных таблицах?
Думаю, ответ очевиден.
Ответить с цитированием