|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.10.2012, 14:36 | #1 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
несколько структур одна переменна
передо мной стоит задача, есть три (типа) структури и есть програма которая имеет всего одну переменную которая может принадлежать лишь одной структуре. Эта переменная должна являть собой чтото типа variant можно ли осуществить задачу?
|
02.10.2012, 14:49 | #2 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Код:
Правильно поставленная задача - три четверти решения.
|
|
02.10.2012, 15:58 | #3 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
забыл упомянуть о том что данные в переменную я буду грузить с двоичного файла
|
03.10.2012, 10:49 | #4 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
но все таки еще не придумал... Нагуглил одну вещь что можно создать свой вариант, или все таки может у кого лучше идея...
|
03.10.2012, 11:05 | #5 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Вариант массива из 3-х указателей, не вариант?
Цитата:
|
|
03.10.2012, 12:52 | #6 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
еще более уточню задачу:
есть файл с него загружаются один блок, в переменную следующего типа: type TElementFile = record Element:TElement; //тип данных в переменной Size:integer; //занимаемая память структурой Data:TDataElement; //этот тип должен иметь одну с 3 конструкций |
03.10.2012, 13:09 | #7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
А почему нельзя завести класс, который содержал бы внутри себя все три структуры? Подгружаешь туда свои данные и все. А он уже выдает только то что нужно.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 03.10.2012 в 13:12. |
03.10.2012, 14:54 | #8 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Я бы сделал так: сделал динамический массив из указателей и признака типа данных по указателю (чтобы потом правильно обрабатывать) и при загрузке создавал динамическую переменную нужного типа, ставя на неё указатель элемента массива и выставляя в этом элементе нужный тип.
Правильно поставленная задача - три четверти решения.
|
|
03.10.2012, 17:12 | #9 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
договорились, буду сразу правильно писать! А можно код набросать, для меня понятней будет!
|
04.10.2012, 09:42 | #10 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
я придумал вот что:
type TElement = record Size:integer; case Element:TElement of elCellCell:TCell); elFieldField:TField); elTableTable:TTable); end; будут ли адекватно сохранены и загружены данные? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
График, одна общая ось х, несколько y | Dobrk_k | Microsoft Office Excel | 6 | 29.04.2012 14:04 |
1) как перетащить несколько модулей с одной книги на другую одним скопом? 2)можно ли открыть несколько книг сразу? | БАХТИ | Microsoft Office Excel | 17 | 26.09.2011 18:11 |
Как вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз? | -ushёl- | Помощь студентам | 2 | 02.01.2010 14:13 |
Беда не приходит одна! | Tayfun | Свободное общение | 6 | 30.12.2007 07:58 |