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

> ВНИМАНИЕ!

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

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


Профи
****

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

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


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

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


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


Профи
****

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

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


Пока описала свой класс TBPeriod:

unit UnitClasses;

interface
type TBPeriod=class
private
fBTitle:string;
function GetBTitle:string;
procedure SetBTitle(newBTitle:string);

public
property BTitle:string read GetBTitle write SetBTitle;
constructor Create(fBTitle:string);
end;

implementation
Uses UnitMain;

constructor TBPeriod.Create(fBTitle:string);
begin
inherited Create;
BTitle:=fBTitle;
end;

function TBPeriod.GetBTitle:string;
begin
Result:=fBTitle;
end;

procedure TBPeriod.SetBTitle(newBTitle:string);
begin
fBTitle:=newBTitle;
end;

end.



На форме имеется кнопка, по которой предполагается создать объект класса TBPeriod (при установке переключателя в положение "Большой"), название его считывается из Edit, и я хочу добавить создаваемый объект в TreeViewNew, с чем и возникла проблема..

unit UnitMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, ComCtrls, ExtCtrls, Buttons;

type
TFormMain = class(TForm)
XPManifest1: TXPManifest;
TreeViewMain: TTreeView;
LabMainStruct: TLabel;
TreeViewNew: TTreeView;
BitBtnCreateBPer: TBitBtn;
RadioGroupPeriod: TRadioGroup;
EditTitlePer: TEdit;
procedure BitBtnCreateBPerClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormMain: TFormMain;

implementation
Uses UnitClasses;
{$R *.dfm}

procedure TFormMain.BitBtnCreateBPerClick(Sender: TObject);
var
NewBPeriod:TBPeriod;
title:string;
begin
case RadioGroupPeriod.ItemIndex of
0: begin
title:=EditTitlePer.Text;
NewBPeriod:=TBPeriod.Create(title);
//Вот здесь меня не пропускает с несоответствием типов... Подскажите пожалуйста, как тут быть?
FormMain.TreeViewNew.Items.AddObject(title, NewBPeriod as TObject);
end;
1: ;
else
MessageDlg('Выберите пункт создания',mtError,[mbOK],0);
end;
end;

end.




Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  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:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"