Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];

Вниз

сортировка списка дат   Найти похожие ветки 

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

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

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

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


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

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

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

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


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

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


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


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

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


 
ivak ©   (2008-12-14 13:46) [4]

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


 
palva ©   (2008-12-14 14:22) [5]


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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
2-1228831692
ther
2008-12-09 17:08
2009.01.25
редактирование ListView


3-1213855653
deodora
2008-06-19 10:07
2009.01.25
приложения для редактирования таблицы на MySQL сервере


15-1227596126
depoint
2008-11-25 09:55
2009.01.25
Техника безопасности при заправке картриджей


2-1228998782
Андрей (Начинающий)
2008-12-11 15:33
2009.01.25
Отслеживание ситемного времени.


2-1229003033
TNT
2008-12-11 16:43
2009.01.25
документ Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский