Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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