IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> иерархическая структура объектов, Delphi 7
18192123
сообщение 4.12.2008 16:29
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Здравствуйте!
Есть тема "Иерархия структуры таблицы Менделеева", в пределах которой нужно построить иерархию объектов, состоящей как минимум из 3-х уровней.
Для демонстрации работы построенной иерархии классов, создаётся приложение, позволяющее:
создавать, удалять объекты, изменять характеристики объектов, визуализировать объекты, манипулировать на форме объектами, сохранять/считывать текущее состояние объектов в формате XML.

Есть некоторые задумки насчёт иерархии (изображение)...Может кто-нибудь подскажет другой подход?
Ну а прежде всего - трудности с визуализацией и манипулированием объектами...Может быть у кого-нибудь есть идеи, как для начала идейно подойти к этим вопросам? что можно придумать? Подскажите пожалуйста..!


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
18192123
сообщение 17.12.2008 0:52
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Спасибо!!)
Получилось, как и хотела!!)
И ещё один вопрос..в таком же духе..
Вот таким образом было сделано перемещение узлов в пределах TreeViewNew:


procedure TFormMain.MoveNode(TargetNode, SourceNode: TTreeNode);
var
nodeTmp: TTreeNode;
i: Integer;
begin
with TreeViewNew do
begin
nodeTmp := Items.AddChildObject(TargetNode, SourceNode.Text, SourceNode.Data);
for i := 0 to SourceNode.Count - 1 do
begin
MoveNode(nodeTmp, SourceNode.Item[i]);
end;
end;
end;

procedure TFormMain.TreeViewNewDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
TargetNode, SourceNode: TTreeNode;
begin
with TreeViewNew do
begin
TargetNode := GetNodeAt(X, Y); // Get target node
SourceNode := Selected;
if (TargetNode = nil) then
begin
EndDrag(False);
Exit;
end;
MoveNode(TargetNode, SourceNode);
SourceNode.Free;
end;
end;

procedure TFormMain.TreeViewNewDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
if (Sender = TreeViewNew) then // If TRUE than accept the draged item
begin
Accept := True;
end;
end;



Можно ли как-нибудь учесть, чтоб перемещение осуществлялось в таком духе:
1-й ряд переместить только во 2-й период (ну и наоборот), исключая возможность чтоб ряд попал в группу??
ну по такой же схеме с остальным..Объясните пожалуйста!
Код

I период
   1 ряд
      I группа
      VIII группа
II период
   2 ряд
      I группа
      II группа
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   иерархическая структура объектов   4.12.2008 16:29
volvo   Какие именно трудности возникли? Какими компонента...   4.12.2008 17:30
18192123   Пока описала свой класс TBPeriod: unit UnitClasse...   5.12.2008 13:56
volvo   Правильно... AddObject принимает три параметра. Пе...   5.12.2008 16:02
18192123   FormMain.TreeViewNew.Items.AddObject(FormMain.Tre...   5.12.2008 21:09
18192123   Вопрос насчёт создания класса-потомка для моего кл...   5.12.2008 19:15
volvo   Для инициализации тех полей, которые есть у предка...   5.12.2008 19:38
volvo   надо вместо AddObject использовать AddChildObject ...   5.12.2008 21:38
18192123   надо вместо AddObject использовать AddChildObject...   5.12.2008 22:12
18192123   Ещё один вопрос по классам... Есть класс TPeriod и...   6.12.2008 17:30
volvo   Неправда... У тебя в потомке И title, И feature, п...   6.12.2008 18:59
18192123   Неправда... У тебя в потомке И title, И feature, ...   6.12.2008 19:47
18192123   Например, я добавила в TreeView объект с некоторым...   6.12.2008 21:06
volvo   Совсем забыл уточнить, что для работы с TTreeView ...   6.12.2008 21:42
Гость   У меня возник вопрос по Drag&Drop.. Я хочу реа...   8.12.2008 2:10
18192123   У меня возник вопрос по Drag&Drop.. Я хочу ре...   8.12.2008 2:12
volvo   Для того, чтобы это работало, и для TreeView и для...   8.12.2008 2:30
Гость   Пусть я определила функцию, процедуру и свойство д...   8.12.2008 18:34
18192123   Ой..повторилась история с постом от "Гость...   8.12.2008 18:38
volvo   Кто ж мешает? TBPeriod(TreeViewNew.Selected.Data)....   8.12.2008 19:25
18192123   Снова вопрос по Drag&Drop..теперь в пределах T...   8.12.2008 21:39
volvo   nodeTmp := Items.AddChild(TargetNode, SourceNod...   8.12.2008 22:33
18192123   nodeTmp := Items.AddChild(TargetNode, SourceNo...   8.12.2008 23:57
volvo   Вот тут есть описание (правда по-английски): Expor...   9.12.2008 0:23
18192123   Вот тут есть описание (правда по-английски): Expo...   11.12.2008 23:32
Гость   А скажите пожалуйста, где будет лежать создаваемый...   9.12.2008 3:13
18192123   А скажите пожалуйста, где будет лежать создаваемы...   9.12.2008 3:14
volvo   Судя по строке XMLDoc.SaveToFile(ChangeFileExt(Par...   9.12.2008 3:23
volvo   Твои атрибуты... Смотри, сохранять дерево (вместе ...   12.12.2008 0:32
Гость   Мне вот ещё что не понятно... Как быть при записи/...   12.12.2008 19:29
18192123   Мне вот ещё что не понятно... Как быть при записи...   12.12.2008 19:30
volvo   Сохранять в XML вместе с данными еще и некоторый и...   12.12.2008 19:50
18192123   Сохранять в XML вместе с данными еще и некоторый ...   12.12.2008 21:04
volvo   Ты ж сказала, что у тебя почти у всех классов один...   12.12.2008 21:17
18192123   Ты ж сказала, что у тебя почти у всех классов оди...   12.12.2008 21:42
volvo   Ну, например, так: if tn.Data <> nil th...   12.12.2008 22:33
18192123   Вот такой вопрос возник.. Если я хочу создать очер...   16.12.2008 21:42
volvo   Где и как задается уровень НОВОГО узла? В предыдущ...   16.12.2008 21:54
18192123   Есть какие-то ограничения? ТОлько по смыслу)   16.12.2008 22:01
volvo   Ну, если дерево будет именно таким, как было сказа...   16.12.2008 22:18
18192123   Ну, если дерево будет именно таким, как было сказ...   16.12.2008 22:30
volvo   А, вот ты о чем... Ну, это просто: у каждого узла ...   16.12.2008 23:18
18192123   Спасибо!!) Получилось, как и хотела!...   17.12.2008 0:52
volvo   procedure TFormMain.TreeViewNewDragDrop(Sender, So...   17.12.2008 1:42
18192123   Это имела в виду? Да, большое спасибо!! ...   17.12.2008 2:05


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 16:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"