Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > FAQ и уроки

Ответ
 
Опции темы
Старый 26.05.2011, 11:41   #1
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
[Вопрос] Лист с элементами различных типов

Здравствуйте.
У меня проблема. Допустим есть три Типа

Type_container 
      Field content:TList=New TList; 
Type_in 
      Field Name:String; 
      Field X:Int; 
Type_inTwo 
      Field Name:String; 
      Field Y:float; 

Global container:Type_container=New Type_container

Так вот переменные типов Type_in и Type_inTwo (скажем 5 переменных одного типа и 5 переменных другого типа) я хочу записать в переменную container
Допустим я их записал с помощью функции
container.content.AddLast();

Они там себе спокойно живут, по мере добавления длина списка увеличивается, а как их оттуда прочитать?
Find и обращение по индексу не помогают, т.е. находишь и обращаешься а вот к полям переменных типов Type_in и Type_inTwo уже не можешь обратиться.

Создавать по листу на каждый тип тоже не очень рационально, так как у каждого типа, который я хочу запихнуть в лист, есть методы с одинаковым названием но разными алгоритмами. И я хотел бы эти методы запускать прогуливаясь только по одному листу.

Спасибо за внимание.
И заранее спасибо за ответы.
(Offline)
 
Ответить с цитированием
Старый 26.05.2011, 12:29   #2
Venom2
 
Сообщений: n/a
Ответ: [Вопрос] Лист с элементами различных типов

Сообщение от Greymem Посмотреть сообщение
так как у каждого типа, который я хочу запихнуть в лист, есть методы с одинаковым названием но разными алгоритмами. И я хотел бы эти методы запускать прогуливаясь только по одному листу.
Сделай базовый тип с абстрактными методами и наследуй от него оба других, ну и проходи по списку базовым типом:

Type BaseType

	Method MyMethod() Abstract

End Type

Type MyType1 Extends BaseType
	
	Method MyMethod()
	End Method
	
End Type

Type MyType2 Extends BaseType
	
	Method MyMethod()
	End Method
	
End Type

For Local Item:BaseType = EachIn Content
	Item.MyMethod()
Next
 
Ответить с цитированием
Старый 26.05.2011, 13:02   #3
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Лист с элементами различных типов

Venom2
ООООО, большое спасибо. Сейчас попробую.
(Offline)
 
Ответить с цитированием
Старый 26.05.2011, 13:25   #4
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Лист с элементами различных типов

Ух тыж! Заработало.
Venom2, спасибо большое за помощь
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:06.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com