![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
передо мной стоит задача, есть три (типа) структури и есть програма которая имеет всего одну переменную которая может принадлежать лишь одной структуре. Эта переменная должна являть собой чтото типа variant можно ли осуществить задачу?
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Код:
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
забыл упомянуть о том что данные в переменную я буду грузить с двоичного файла
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
но все таки еще не придумал... Нагуглил одну вещь что можно создать свой вариант, или все таки может у кого лучше идея...
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Вариант массива из 3-х указателей, не вариант?
Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
еще более уточню задачу:
есть файл с него загружаются один блок, в переменную следующего типа: type TElementFile = record Element:TElement; //тип данных в переменной Size:integer; //занимаемая память структурой Data:TDataElement; //этот тип должен иметь одну с 3 конструкций |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
А почему нельзя завести класс, который содержал бы внутри себя все три структуры? Подгружаешь туда свои данные и все. А он уже выдает только то что нужно.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 03.10.2012 в 13:12. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Я бы сделал так: сделал динамический массив из указателей и признака типа данных по указателю (чтобы потом правильно обрабатывать) и при загрузке создавал динамическую переменную нужного типа, ставя на неё указатель элемента массива и выставляя в этом элементе нужный тип.
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
договорились, буду сразу правильно писать! А можно код набросать, для меня понятней будет!
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 54
|
![]()
я придумал вот что:
type TElement = record Size:integer; case Element:TElement of elCell ![]() elField ![]() elTable ![]() 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 |