Сортировка файлов по размеру в Delphi 2010Delphi , Базы данных , Сортировка и ФильтрВ статье рассматривается вопрос сортировки списка файлов по размеру в среде программирования Delphi 2010. Автор вопроса уже получил размеры, даты создания и пути к файлам, но испытывает трудности с сортировкой. Результаты текущего состояния представлены в следующем виде: MB 57.682 (60483584) - 08-06-2017 15:03 - o:\Thumbs.db MB 4.217 (4422144) - 08-06-2017 13:48 - o:\bmp\Thumbs.db Необходимо отсортировать данные в порядке убывания от большего файла к меньшему и сохранить результат в файл. Автор использует строки для форматирования размера файлов для удобного чтения. Вопрос автора: какой подход использовать в данной ситуации? Нужно ли хранить данные в виде значений CSV и затем сортировать их? Или использовать StringList? Ниже представлен код, который автор использует для решения задачи:
Для решения задачи можно использовать метод CustomSort TStringList, предоставив пользовательскую функцию сравнения, чтобы указать, какой файл больше другого.
Теперь можно вызвать:
Примечание: как отметил David Heffernan в комментарии, StrToInt возвращает LongInt, поэтому данное решение будет работать только для файлов до 2 ГБ. Более надежным решением было бы использовать правильную структуру для хранения данных о файлах вместо этого быстрого исправления. В статье описывается проблема сортировки списка файлов по размеру в программировании на Delphi 2010, где автор уже получил размеры, даты создания и пути к файлам, но столкнулся с трудностями при сортировке. Необходимо отсортировать файлы в порядке убывани Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Сортировка и Фильтр ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |