![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
CODeRUS |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 25.7.2007 Репутация: нет Всего: нет |
Имеется
необходимо сделать сортировку ключей в нем, чтобы при последующем запуске цикла
Ключи выдавал по возрастанию. Просмотрел все свойства TDictionary, погуглил, но не нашел про сортировку ничего. |
||||
|
|||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Совершенно непонятно, как ты хочешь, чтобы у тебя была одинаковая универсальная сортировка для обобщённых значений. Как можно отсортировать String одним и тем же способом, что и DWord, TObject или IInterface?
Никак. Ну т.е. можно, но это будет глупо. Поэтому никакого Sort у TDictionary нет. Вот и введи сортировку так, как считаешь нужным. Вернее, тебе конкретно в этом случае даже не сортировка нужна, а энумератор. Для этого нужно перегрузить http://docwiki.embarcadero.com/VCL/en/Gene...y.GetEnumerator - и вводи себе порядок как угодно. Хоть в шахматную клеточку. Это сообщение отредактировал(а) CodeMonkey - 16.2.2011, 20:38 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
CODeRUS |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 25.7.2007 Репутация: нет Всего: нет |
честное слово сегодня впервые работаю с TDictionary, поэтому
![]() |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Мне лениво писать.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
CODeRUS |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 25.7.2007 Репутация: нет Всего: нет |
Ладно пока решил валенком. Переписал все ключи в массив и отсортировал его. потом уже беру индексы из массива.
Если разберусь с TDictionary напишу решение здесь. Но надеюсь кто-нибудь еще поможет. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
CODeRUS, на сколько я помню - словарь отсортирован по хэшам элементов. если менять внутреннюю сортировку, то поломаешь алгоритм работы класса.
-------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |