Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2008, 19:40   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Хорошо Сортировка в tStringList

Привет ВСЕМ!!! Я столкнулся с проблемой при сортировке строк!

У меня есть переменная file_list: tStringList, В которой у меня имена файлов. Мне нужно их отсортировать по имени так, как эти файлы отсортировальсь бы по имени в папке! Метод sort сортирует не совсем так, как мне надо! Помогите пожалуйста. Спасибо заранее!
Altera вне форума Ответить с цитированием
Старый 02.03.2008, 19:53   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Метод sort сортирует не совсем так, как мне надо!
Ну, так объясните, чем не устраивает sort и как вам надо?
_Dmitry вне форума Ответить с цитированием
Старый 02.03.2008, 20:20   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Sort сортирует не так как сортируются файлы в папке по имени!
Altera вне форума Ответить с цитированием
Старый 02.03.2008, 20:23   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

1.Сортируй руками
2. Перекрой метод sort
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 02.03.2008, 21:23   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Sort сортирует не так как сортируются файлы в папке по имени!
Я так понимаю, вас не устраивает, что каталоги и файлы идут вперемежку после сортировки?
Ну так задавайте для каталогов первым символом какой-нибудь спецсимвол - вам ведь все равно нужно как-то отличать их от файлов. Файлы ведь тоже бывают без расширений...
mihali4 вне форума Ответить с цитированием
Старый 04.03.2008, 15:04   #6
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Меня не устраевает сортировка сортом............
Я хочы, чтоб СОРТ сортировал бы строки ТАК, КАК ФАЙЛЫ СОРТИРУЮТСЯ В ПАПКЕ!



Altera вне форума Ответить с цитированием
Старый 04.03.2008, 15:23   #7
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

А вы сначала названия отсортируйте, а потом цыфири подставьте. IMHO, так проще, чем специально заморачиваться на сортировке.

Или сортируйте, сравнивая строки не от начала строки к концу, а в обратном порядке от конца строки к началу. В дельфях имеется специальная функция ReverseString, которая строку "наизнанку" выворачивает.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 04.03.2008 в 15:40.
Andrei вне форума Ответить с цитированием
Старый 04.03.2008, 15:32   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. в папке ничего не сортируется. сортирует уже проводник (который на цифры плевать хотел эти), тотал коммандер вот уже сортирует в зависимости от циферок.
2. встроенных таких возможностей нет, так что только ручками вырезаем в начале имени файла циферку и сортируем по циферкам
pu4koff вне форума Ответить с цитированием
Старый 04.03.2008, 19:10   #9
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Печаль

Ok! Но если в папке, которую выберит user, имена папок случайные?
Вот посмотрите тут...!
У меня нет чётких идей на эту тему! Может вы мне поможете с кодом?
Спасибо заранее!!!
Altera вне форума Ответить с цитированием
Старый 04.03.2008, 20:12   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Специально для вашего случая (с Самебами) - коль скоро у вас числовые начала заголовков есть двузначные (а наверняка, будут и трехзначные), вам нужно несколько грамотнее организовать нумерацию.
То есть:
00 Амеба
01 Амеба
и т.д.
Вот и сортироваться будет нормальненько...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции сохранения TStringList в Ini-файл Air Свободное общение 0 29.06.2008 22:37
Вопрос насчёт класса TStringList!!! KAMENYKA Компоненты Delphi 4 06.12.2007 14:49
TStringList nimf Общие вопросы Delphi 5 15.11.2007 14:44
Обновление списка TStringList eXa Компоненты Delphi 3 11.08.2007 16:24
Класс TStringList Pblog Обсуждение статей 0 27.05.2007 02:13