Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Указатели и структуры ? Плиз, очень нужно / 3 сообщений из 3, страница 1 из 1
29.12.2002, 12:38
    #32085585
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Указатели и структуры ? Плиз, очень нужно
Такой вот вопрос

есть две структуры

CMyList = record
Names: String;
ID: Integer;
end;

CMyProj = record
Types: String;
ProjID: Integer;
...
end;

var
MyList: ^CMyList;
MyProj: ^CMyProj;

Динамически стороится дерево
У каждого элемента есть св-во Data (Pointer)
В зависимости от определенных условий я "присваиваю" св-ву Data тот или иной тип рекорда.


А как в дальнейшем мне определить на какую структуру у меня ссылается указатель Node.Items.Data ?
...
Рейтинг: 0 / 0
29.12.2002, 14:17
    #32085594
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Указатели и структуры ? Плиз, очень нужно
Прийдётся тебе добавить дополнительное поле или использовать классы. Если классы не хочешь - используй старый синтаксис паскаля с object. Это те же записи, только с большими возможностями. Определишь базовый абстрактный класс и виртуальную функцию WhoAmI:

TBaseClass=object
public
function WhoAmI:byte; dynamic;
end;

CMyList = object(TBaseClass)
Names: String;
ID: Integer;
public
function WhoAmI:byte; dynamic;
end;

CMyProj = object(TBaseClass)
Types: String;
ProjID: Integer;
public
function WhoAmI:byte; dynamic;
...
end;

var
MyList:^TBaseClass;
MyProj:^TBaseClass;

После этого создашь экземпляры с помощью new. Для получения кода класса просто вызывай виртуальную функцию и смотри, чё она возвращает.
...
Рейтинг: 0 / 0
29.12.2002, 23:50
    #32085635
duha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Указатели и структуры ? Плиз, очень нужно
ребята, это высокоуровневый доступ а можно и через функцию
typeof(<тут имя типа>)

просто сравнить два typeOf'a и сделать вывод равны или нет.

еще можно сделать рекорды сами по себе похожими:
пусть первые строки (индекс, строка и тип объекта:byte например),
остальное tMyProj. тут разумеется без выравнивания и в одинаковом порядке.

удачи.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Указатели и структуры ? Плиз, очень нужно / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]