Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Указатели и структуры ? Плиз, очень нужно
|
|||
|---|---|---|---|
|
#18+
Такой вот вопрос есть две структуры 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 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2002, 12:38 |
|
||
|
Указатели и структуры ? Плиз, очень нужно
|
|||
|---|---|---|---|
|
#18+
Прийдётся тебе добавить дополнительное поле или использовать классы. Если классы не хочешь - используй старый синтаксис паскаля с 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. Для получения кода класса просто вызывай виртуальную функцию и смотри, чё она возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2002, 14:17 |
|
||
|
Указатели и структуры ? Плиз, очень нужно
|
|||
|---|---|---|---|
|
#18+
ребята, это высокоуровневый доступ а можно и через функцию typeof(<тут имя типа>) просто сравнить два typeOf'a и сделать вывод равны или нет. еще можно сделать рекорды сами по себе похожими: пусть первые строки (индекс, строка и тип объекта:byte например), остальное tMyProj. тут разумеется без выравнивания и в одинаковом порядке. удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2002, 23:50 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2119395]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 139ms |

| 0 / 0 |
