powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Указатели и структуры ? Плиз, очень нужно
3 сообщений из 3, страница 1 из 1
Указатели и структуры ? Плиз, очень нужно
    #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
Указатели и структуры ? Плиз, очень нужно
    #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
Указатели и структуры ? Плиз, очень нужно
    #32085635
duha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята, это высокоуровневый доступ а можно и через функцию
typeof(<тут имя типа>)

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

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

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


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