|
Вопрос # 4 624/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Возможно ли реализовать следующую функцию, если да, то как?
Чтоб после запуска программы или скрипта, программа оставляла в папке только 3 самых свежих файла?
 |
Вопрос задал: Sundrey (статус: Посетитель)
Вопрос отправлен: 30 сентября 2010, 20:58
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Да нет проблем! Вот алгоритм, написанный на коленке за 5 минут.
Создаёшь массив из 3х элементов:
type
TRec = record
FileName: string; // имя файла
Time: Integer; // время файла
end;
var
Files: array[0..2] of TRec; // массив (перед использованием обнулить)
Ищешь в папке файлы через FindFirst(), FindNext(), FindClose(). Если время (TSearchRec.Time) очередного найденного файла больше, чем время любого из трёх элементов массива - заменить содержимое этого элемента на имя (TSearchRec.Name) и время найденного файла. Файл, который был в массиве заменён, удаляешь (если поле Files[Index].FileName <> '').
Если время очередного найденного файла не больше, чем времена всех трёх записей массива - удаляешь этот файл сразу.
Короче, как-то так.
АХТУНГ! Алгоритм придумал только сейчас. Работоспособность не проверял, могут быть ошибки.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 30 сентября 2010, 21:32
|
Мини-форум вопроса
Всего сообщений: 0.
1 октября 2010, 11:46: Вопрос перемещён из тематического раздела Разные вопросы в раздел Delphi » Работа с файловой системой модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|