| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Сортировка списка (массива) дат |
| Автор: A11MaNi 12.4.2011, 14:42 | ||||||
| Столкнулся с очередной задачей... Есть у меня список дат в виде:
Задача стоит в том, чтобы из этого списка определить ближайшую дату. Сперва я сделал так:
то есть находил разницу между текущей датой и датой из списка и заносил эти разницы в массив, среди элементов массива находил наименьший, ну и соответственно дату ближайшую. Вроде сперва все работало нормально. Но... Когда в списке попалась дата типа 04.04.2011 то именно она среди прочих отсортировалась как ближайшая. Как я потом понял - вполне логично со стороны компа. Ведь
Следовательно вопрос - как выявить ближайшую дату из списка - не учитывая те, что уже "в прошлом"? |
| Автор: Snowy 12.4.2011, 14:53 |
| Это, чтобы скучно не было, вместо DateN := now; ? И зачем тебе массив дней? И зачем тебе DaysBetween? StrToDate(ExDateSTRLST[i]) - now = количество дней до указанной даты. Если дата в прошлом, результат будет отрицательный. |
| Автор: Gwire 12.4.2011, 15:16 | ||
Объяви свою DaysBetween:
Прошедшие дни будут с минусом. |
| Автор: A11MaNi 13.4.2011, 08:05 |
| Благодарю за советы! |