Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сортировка списка дат [D7, XP]


Андрей (начинающий) ©   (2008-12-13 23:48:00) 

есть список дат в TStringList:

27.12.2008 18:54:59
02.01.2009 0:00:01
20.12.2008 23:44:27
....

как его корректно отсортировать по дате/времени?
Или как создать сортированный список значений типа TDateTime?


palva   (2008-12-14 14:22:00) [1]


> ...а потом по дням

И получится сначала первое число всех месяцев и годов, потом второе. А если по секундам отсортировать, то вообще красота получится.


ivak   (2008-12-14 13:46:00) [2]

сортируешь сначала по году и выстраиваются сначала 2008ые а потом 2009ые, потом по месяцу а потом по дням


Германн   (2008-12-14 01:08:00) [3]


> palva ©   (14.12.08 00:46) [2]
>
> Плохая идея хранить дату-время в виде строки, когда имеется
> специально предназначенный для этого тип.

А при чем тут некий тип? И главное при чём тут "хранение"?
В [1] дан хороший пример позволяющий сортировать строковые значения даты/времени. Я нечто подобное использую для формирования имен лог-файлов своей программы. И мне очень удобно выдать пользователю сей отсортированный список.


palva   (2008-12-14 00:46:00) [4]

Плохая идея хранить дату-время в виде строки, когда имеется специально предназначенный для этого тип. Если способ хранения переделать нельзя, то придется писать функцию сравнения и применять метод CustomSort.


Loginov Dmitry   (2008-12-14 00:29:00) [5]

а нельзя ли вот так:

2008.12.27 18:54:59
2009.01.02 00:00:01
2008.12.20 23:44:27

и применить простой TStrings.Sort() ??


Наверх

Титульная страница Поиск, карта сайта Написать письмо