Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Удаление самой старой папки - Delphi  [new]
suzuki-bandit
Member

Откуда:
Сообщений: 4
Добрый день уважаемые программисты
Имеется такая задача
Есть 3 папки
как показано на скрине
Данные папки не трудно догадаться созданы соответственно:
2017-12-01
2017-11-24
2017-11-17
Я каждую неделею удалаю самую старую папку
т.е. в эту неделю я удалю 2017-11-17 т.к. она самая старая
как мне программно найти среди папок самую старую и удалить ее
путь к ним скажем такой такой:

C:\папки\ и тут они лежат


Каждую недю создается новая папка
т.е. на след недели будет папка 2017-12-08 и самой старой уже будет 2017-11-24

К сообщению приложен файл. Размер - 50Kb
4 дек 17, 09:51    [21003172]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2422
удаляй
кто ж тебе мешает
вопрос то какой?
4 дек 17, 10:05    [21003208]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
rgreat
Member

Откуда:
Сообщений: 3746
Просто отсортируй строки.

Например через TStringList.Sort.
4 дек 17, 10:06    [21003210]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
чччД
Guest
suzuki-bandit,

не слушай этих лентяев. Пузырьком сортируй.
4 дек 17, 10:12    [21003219]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
suzuki-bandit
Member

Откуда:
Сообщений: 4
Пример имеется??
4 дек 17, 10:37    [21003322]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
Господа, мне нужно сложить 2+2. Киньте пример, пожалуйста.
4 дек 17, 10:39    [21003332]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
К слову - лучше делать на Power Shell. Delphi тут зачем? Bat вроде бы так не может, а то бы и им.
4 дек 17, 10:41    [21003347]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Glays
Member

Откуда:
Сообщений: 2345
suzuki-bandit, не благодари
4 дек 17, 11:31    [21003584]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
suzuki-bandit
Member

Откуда:
Сообщений: 4
Спасибо, помогли товарищи
4 дек 17, 11:49    [21003683]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
alekcvp
Member

Откуда:
Сообщений: 521
makhaon
К слову - лучше делать на Power Shell. Delphi тут зачем? Bat вроде бы так не может, а то бы и им.

Да неужто?

dir /b | sort    - по имени
dir /b | sort /r - по имени (в обратном порядке)
dir /b /od - по дате (старые сверху)
dir /b /o-d - по дате (новые сверху)
4 дек 17, 11:50    [21003691]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
alekcvp,

и?
4 дек 17, 11:53    [21003698]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
alekcvp
Member

Откуда:
Сообщений: 521
makhaon
alekcvp,
и?

Ну вдруг вам пригодится, раз вы не знали :)
4 дек 17, 11:55    [21003707]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
что мне поможет - дело десятое, задачу решить как поможет? :)
4 дек 17, 12:19    [21003857]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
s62
Member

Откуда: Жуковский
Сообщений: 715
suzuki-bandit,

Тебе нужно
- найти список папок в заданной папке.
- Определить дату создания каждой из этих папок и найти самую раннюю дату
- удалить эту папку.
По поводу дат советую почитать о формате дат и времени в Дельфи.
Для работы с папками и файлами в более новых версиях Дельфи есть удобные классы. Для директории вот:
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.IOUtils.TDirectory
С его помощью можно решить все 3 задачи, кроме определения самой ранней даты. Найти самую раннюю придется самостоятельно. Можно это сделать, просто перебрав все директории по очереди.
4 дек 17, 12:24    [21003890]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2468
s62
Определить дату создания каждой из этих папок и найти самую раннюю дату
Да у него же в названии дата, что хорошо.
4 дек 17, 13:14    [21004126]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
suzuki-bandit
Member

Откуда:
Сообщений: 4
s62
suzuki-bandit,

Тебе нужно
- найти список папок в заданной папке.
- Определить дату создания каждой из этих папок и найти самую раннюю дату
- удалить эту папку.
По поводу дат советую почитать о формате дат и времени в Дельфи.
Для работы с папками и файлами в более новых версиях Дельфи есть удобные классы. Для директории вот:
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.IOUtils.TDirectory
С его помощью можно решить все 3 задачи, кроме определения самой ранней даты. Найти самую раннюю придется самостоятельно. Можно это сделать, просто перебрав все директории по очереди.

Как найти списмок папок в заданной папке???
4 дек 17, 14:03    [21004330]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
чччД
Guest
suzuki-bandit,


Здесь
4 дек 17, 14:10    [21004347]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 720
suzuki-bandit,

нужна визуальная программа ?
ос виндовс ?
4 дек 17, 14:12    [21004356]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 720
Открываешь папку в проводнике > для сортировки кликаешь по колонке Имя > удаляешь последнюю в списке папку
4 дек 17, 14:16    [21004373]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 720
кстати, в программе на скрине нет сортировки по колонке Name ?
4 дек 17, 14:20    [21004385]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2422
удалять самую старую папку по имени - это феерично
а завтра поменяешь алгоритм формирования имени и что?
4 дек 17, 14:27    [21004415]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 720
считаешь, что надежнее по дате создания папки ?

а если, к примеру, эти папки ему по ФТП в хранилище приходят в один день, то и дата создания будет одна.
какую тогда удалим?

так что, тут самый надежный способ по имени.
алгоритм формирования имени правильный и не надо менять
4 дек 17, 14:40    [21004466]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2422
Ghost Writer
считаешь, что надежнее по дате создания папки ?

а если, к примеру, эти папки ему по ФТП в хранилище приходят в один день, то и дата создания будет одна.
какую тогда удалим?

так что, тут самый надежный способ по имени.
алгоритм формирования имени правильный и не надо менять


задача поставлена явно - удалить самую старую
тут делов на минуту - цикл FindFirst и все
не, давайте парсить имя!
которое наверняка уже и получено этим FindFirst и время там есть
ну удачи
4 дек 17, 14:46    [21004492]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
LSV
Member

Откуда: Киев
Сообщений: 30150
А если ппака единственная ? Удалить ? :)
4 дек 17, 14:50    [21004510]     Ответить | Цитировать Сообщить модератору
 Re: Удаление самой старой папки - Delphi  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2422
LSV
А если ппака единственная ? Удалить ? :)


не читатель?
есть 3 папки
4 дек 17, 14:52    [21004513]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить