![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
СЭНСЭЙ |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Пишу игру на делфи 7.
Использую динамические массивы типа Record Допустим:
Подскажите есть ли функции в делфи или сторонние бибилиотеки для работы с такими массивами. Есть ли какие то наработанные алгоритмы для работы с такими массивами. Самое главное - удаление элемента по индексу. |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
массивы не предназначены для удаления элементов, алгоритмы есть, но они менее эффективны чем у списков. так что стоит обратить внимание на класс TList -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
СЭНСЭЙ |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Не подходит мне TList так что буду обходится своими наработанными методами
|
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
-------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Блин, TList внутри и есть динамический массив. Хватит тупить. И вообще дженерики спасут отца русской демократии от бесконечного тайпкаста.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
СЭНСЭЙ |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
А вы мне можете пример какой нибудь привести?
А то ругаетесь непонятными словами. |
|||
|
||||
PointerToNil |
|
|||
![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 17.6.2013 Репутация: 3 Всего: 6 |
дженерики в дельфи 7 НЕ спасут
![]() люби книгу, твою мать - источник знаний! ![]() связные списки: http://sdb.su/programmirovanie/delphi/239-...st-3-iz-14.html и второй незаменимый источник - исходники ![]() на всякий случай, там TList: %ProgramFiles%\Borland\Delphi7\Source\Rtl\Common\Classes.pas Это сообщение отредактировал(а) PointerToNil - 26.6.2014, 23:38 |
|||
|
||||
СЭНСЭЙ |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Тем кто любит книги на форуме в разделе для новичков делать нечего. Мне на вокзале в справочном бюро никогда не отвечали "люби расписание - твою мать" Добавлено через 5 минут и 13 секунд А, да в Делфи же есть исходники. Форум можно закрывать, а вместо него выложить исходники. |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
СЭНСЭЙ, все-таки к TList присмотрись... если так уж исходники динамиков нужны, то из него и бери, уже все отлаженно.
Добавлено через 2 минуты и 26 секунд там только привязка на Pointer-ы а к ты на эти поинтеры свои рекорды привязывай. -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
CynicRus |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Приведу пример такого TList:
Вместо класса TDTMPoint - используешь свой TRecord. Можно унифицировать, если отказаться от рекордов. Делаешь абстрактный класс с базовыми свойствами, и реализацию на основе TList для этого, например:
Затем типы, которые необходимо загонять в списки - наследуешь от своего абстрактного класса, например:
Потом создаёшь под этот тип экземпляр класса списка, и используешь с удобством списка. Без ручных велосипедов с массивами. При желании - можно запилить метод сортировки как Virtual;Abstract; затем унаследоваться - и впилить для каждого экземпляра ту сортировку, какую треба. Такой путь работает и в Delphi 7 и в XE > XE6. Это сообщение отредактировал(а) CynicRus - 3.7.2014, 22:42 |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |