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

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

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

Ответ
 
Опции темы
Старый 16.11.2011, 14:31   #16
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Тогда для класса(типа/структуры) таблицы сделать коллекцию определений столбцов с их именами и типами.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:35   #17
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Насчет "коллекции определений" можно поподробнее?
__________________
Мозги... у них есть метод "Storm"
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:41   #18
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Ну вот пример, как работать с таблицами в Net Framework:

DataTable dt LoadDataTable("SomeTableName");
foreach(var 
column in dt.Columns )
{
   
Console.WriteLine("Name = " +сolumn.Name ",  Type" сolumn.DataType.ToString());
}

DataColumn id dt.Columns["id"];
foreach(var 
row in dt.Rows)
{
   
Console.WriteLine("id = " +row[id].ToString());

Вероятно я в именах классов ошибся, но как-то так.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:47   #19
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Сообщение от pax Посмотреть сообщение
Ну вот пример, как работать с таблицами в Net Framework:

DataTable dt LoadDataTable("SomeTableName");
foreach(var 
column in dt.Columns )
{
   
Console.WriteLine("Name = " +сolumn.Name ",  Type" сolumn.DataType.ToString());
}

DataColumn id dt.Columns["id"];
foreach(var 
row in dt.Rows)
{
   
Console.WriteLine("id = " +row[id].ToString());

Вероятно я в именах классов ошибся, но как-то так.
Интересно, а откуда у нас взялся SomeTableName ?
__________________
Мозги... у них есть метод "Storm"
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:53   #20
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Это имя твоей таблицы, которую ты загружаешь с помощью функции LoadDataTable. Эти два названия абстрактны.

Подробно тут: http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:57   #21
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Вы мне предлагаете каким то "Орбузом" прикрутить .Net к BlitzMax ? =)
__________________
Мозги... у них есть метод "Storm"
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 14:58   #22
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Нет, реализовать подобный механизм.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 15:02   #23
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Вот еще вариант:
По схеме базы данных сгенерировать классы/типы для таблиц. При обновлении базы - перегенерировать.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 18.11.2011, 07:54   #24
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: [Вопрос] Оптимизация поиска в листе

Как можно перегенерировать уже созданный класс ? =)

Это уже блин из разряда полиморфности, но идея хорошая, только вот незнаю как из под исполняемого кода менять собственный же код =)


Вот какая идея возникла, подскажите, это быдло-решение или нет?
Таблиц дофига, но есть кое где одинаковые колонки.
Создать глобальный тип из 50 полей, каждая таблица (а следственно и строки в ней) будет использовать только 5-10 из них, остальные будут NULL
На каждую таблицу отдельный Лист со "строками" данного глобального типа, что скажите?

При появлении нового вида таблиц, просто добавлять поле в глобальный тип. И создавать новай лист для данной таблицы
__________________
Мозги... у них есть метод "Storm"
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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