Массив типов, такое возможно? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Массив типов, такое возможно? |
sheka |
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
В зависимости от ситуации переменную сделать нужного типа. Как можно это сделать?
|
TarasBer |
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
type UberType = record -------------------- |
sheka |
Сообщение
#3
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Не могу сформулировать правильно, но это чуть не то. Вот смотри, допустим есть массив объектов. В зависимости от нажатой клавиши хочу создать объект нужного типа. Можно ли эти типы как-то загнать в массив и потом просто по индексу создать объект? Или ничего не остается как делать обыкновенный кейс от нажатой клавиши?
|
volvo |
Сообщение
#4
|
Гость |
А тебе в любом случае придется делать Case, хотя бы для определения, какая клавиша нажата. Так чего огород городить? В этом же кейсе в зависимости от кода нажатой клавиши создавай объект нужного типа.
|
volvo |
Сообщение
#5
|
Гость |
P.S. Можешь также заглянуть вот сюда:
Delphi Virtual Constructor - в FPC оно тоже доступно. Пункт 2.3 будет представлять для тебя интерес |
sheka |
Сообщение
#6
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Жаль что только с классами такое возможно.
|
volvo |
Сообщение
#7
|
Гость |
Кури Фабричный метод (шаблон проектирования), может быть удастся сделать и с объектами, если очень надо. Но я бы не стал изобретать уже изобретенное...
|
-TarasBer- |
Сообщение
#8
|
Гость |
А чем плохи вариантные поля? Я вот на полном серьёзе их использовал в движке, там каждый объект мог быть и стеной, и комнатой, и оружием, и монстром.
Вот только контроля за дискриминантом очень не хватало. Сообщение отредактировано: volvo - |
-TarasBer- |
Сообщение
#9
|
Гость |
Шрифт 7го размера - это самый большой, оказывается?!
Модераторы, исправьте, я имел в виду мелкий еле видный текст. |
Текстовая версия | 28.03.2024 18:40 |