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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2008, 16:58   #1
Родион
Пользователь
 
Регистрация: 04.05.2008
Сообщений: 42
По умолчанию Помогите с функцией

При таком вызове работает

procedure TForm1.CatLabelClick(Sender: TObject);
// СТРОИМ ДЕРЕВО КАТЕГОРИЙ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! НАЧАЛО
var
CatCount:integer; //количство записей в таблице категорий
MenuCount:integer; //количство записей в таблице записей меню
tnod: TTreeNode; //точки в дереве
mnod: TTreeNode; //точки в дереве
itnod: integer; //для счетчика
i:integer; //для счетчика
begin
MenuCatSource.Enabled:=False;
MenuCatSource.Enabled:=True;
MenuTreeView.Visible:=False;
MenuItemSDataSet.Active:=False;
MenuItemSDataSet.Active:=True;
MenuCatSDataSet.First;
itnod:=0;
MenuTreeView.Items.Clear;
MenuTreeView.Images:=ManagerImageLi st;
while itnod < MenuCatSDataSet.RecordCount
do
begin
if (DBTextCatParent.Caption='00CatIsAp sent') then //тут наполняем корень дерева
begin
tnod:=MenuTreeView.Items.AddChild(M enuTreeView.Selected,DBTextCatName. Caption);
end
else //тут наполняем детей (подкатегории)
begin
for i:=0 to MenuTreeView.Items.Count-1 do
begin
if MenuTreeView.Items[i].Text=DBTextCatParent.Caption then
MenuTreeView.Items[i].Selected:=true;
end;
tnod:=MenuTreeView.Items.AddChild(M enuTreeView.Selected,DBTextCatName. Caption);
end;
itnod:=itnod+1;
MenuCatSDataSet.Next;
MenuTreeView.FullCollapse;
end;
itnod:=0;
MenuCatSDataSet.First;
// СТРОИМ ДЕРЕВО КАТЕГОРИЙ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!
MenuTreeView.Visible:=True;
ManagerStatusBar.Panels[0].Text:=StatusBar_Cat_Count + ':' + IntToStr(MenuCatSDataSet.RecordCoun t)+'.';
end;



Делаю через функцию

Function BuildDBTree(FTreeView: TTreeView; TreeDataSet: TSimpleDataSet; CatName: TDBText; CatParent: TDBText; ImageList: TImageList):Boolean;


var
CatCount:integer; //количство записей в таблице категорий
MenuCount:integer; //количство записей в таблице записей меню
tnod: TTreeNode; //точки в дереве
mnod: TTreeNode; //точки в дереве
itnod: integer; //для счетчика
i:integer; //для счетчика

begin
FTreeView.Visible:=False;
TreeDataSet.Active:=False;
TreeDataSet.Active:=True;
TreeDataSet.First;
itnod:=0;
FTreeView.Items.Clear;
FTreeView.Images:=ImageList;
while itnod < TreeDataSet.RecordCount
do
begin
if (CatParent.Caption='00CatIsApsent') then
begin
tnod:=FTreeView.Items.AddChild(FTre eView.Selected,CatName.Caption);
end
else
begin
for i:=0 to FTreeView.Items.Count-1 do
begin
if FTreeView.Items[i].Text=CatParent.Caption then
FTreeView.Items[i].Selected:=true;
end;
tnod:=FTreeView.Items.AddChild(FTre eView.Selected,CatName.Caption);
end;
itnod:=itnod+1;
TreeDataSet.Next;
FTreeView.FullCollapse;
end;
itnod:=0;
TreeDataSet.First;
FTreeView.Visible:=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
BuildDBTree(MenuTreeView,MenuItemSD ataSet,DBTextCatName,DBTextCatParen t,ManagerImageList);
end;


ноль имоций

помогите незамыленым глазом
Родион вне форума Ответить с цитированием
Старый 08.05.2008, 17:39   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Может не хватает одного параметра ?

-------------------------
MenuItemSDataSet.Active:=True;
MenuCatSDataSet.First;
itnod:=0;
MenuTreeView.Items.Clear;
MenuTreeView.Images:=ManagerImageLi st;
while itnod < MenuCatSDataSet.RecordCount

----->

TreeDataSet.Active:=True;
TreeDataSet.First;
itnod:=0;
FTreeView.Items.Clear;
FTreeView.Images:=ImageList;
while itnod < TreeDataSet.RecordCount
----------------
TreeDataSet = MenuItemSDataSet
alexBlack вне форума Ответить с цитированием
Старый 08.05.2008, 18:52   #3
Родион
Пользователь
 
Регистрация: 04.05.2008
Сообщений: 42
По умолчанию

Нет проблема не в этом

это опечатка изза нее не обновлялось я её уже подправил но функция всеравно не строит

Родион вне форума Ответить с цитированием
Старый 08.05.2008, 19:18   #4
Родион
Пользователь
 
Регистрация: 04.05.2008
Сообщений: 42
По умолчанию

Все разобрался
мой касяк ))
Родион вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с функцией 1234 Общие вопросы Delphi 5 30.08.2008 10:55
помогите. массив не взамодействует с функцией. какая-то ошибка стека. koir Паскаль, Turbo Pascal, PascalABC.NET 5 10.06.2008 08:32
помогите с функцией CopyFile vizor9 Свободное общение 16 16.06.2007 20:13
Глюк с функцией PolyBezier Kuzya Общие вопросы Delphi 1 02.06.2007 01:50
помогите с функцией zetrix Microsoft Office Excel 0 31.10.2006 07:32