Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 10:22   #1
MAZADA
Форумчанин
 
Регистрация: 11.09.2010
Сообщений: 103
По умолчанию Поиск и удаление файлов

Доброго времени суток.
У меня есть папка Бекав в которой сохраняются zip файлы бекапов.
Мне нужны бекапы только за последнии 10 дней, а все осталые должны удалятся.

Подскажыте плисс как сделать удаление файлов старше 10 дней.
наименование бекап файлов в формате дата
15.04.2016.zip
16.04.2016.zip
17.04.2016.zip
18.04.2016.zip

Вот я сделал поиск файлов ЛистБокс

Код:
    ListBox1.Clear;
FindRes:=FindFirst('d:\Backup\*.zip',faAnyFile,SR);

While FindRes=0 do
   begin
      ListBox1.Items.Add(SR.Name);
      FindRes:=FindNext(SR);
   end;




FindClose(SR);
Как сделать чтоб в лист боксе искались только файлы старше 10 дней.
Вот когда они будут у лисбоксе я думаю уже сделаю чтоб они удалялись.
Но можете и сразу подсказать как сделать удаление!
очень благодарен!
MAZADA вне форума Ответить с цитированием
Старый 18.04.2016, 10:40   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

FindFisrt + F1 + TSearchRec =
Цитата:
SearchRec defines file information searched for by FindFirst or FindNext.

Unit

SysUtils

Delphi syntax:

On Windows:

type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
.....................
Time contains the time stamp of the file. It can be converted to a TDateTime value using FileDateToDateTime.
наверх страницы ->Основы Delphi -> F -> FindFirst ->TSearchRec === See Also

Код:
if ???? <IncDay(date, -10) then .............
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.04.2016 в 10:46.
evg_m на форуме Ответить с цитированием
Старый 18.04.2016, 10:44   #3
MAZADA
Форумчанин
 
Регистрация: 11.09.2010
Сообщений: 103
По умолчанию

очень благодарен!


Код:
   SetCurrentDir(ini.ReadString('Backup','Backup',s));
if FindFirst('*.zip', faAnyFile, searchResult) = 0 then
begin
repeat
if FileDateToDateTime(searchResult.time) <= (date-10) then
begin
deletefile(searchResult.name);
end;
until FindNext(searchResult) <> 0;
FindClose(searchResult);
MAZADA вне форума Ответить с цитированием
Старый 18.04.2016, 11:00   #4
TaLadno
Форумчанин
 
Регистрация: 03.06.2015
Сообщений: 393
По умолчанию

Код:
function GetOldFiles(APath, AExt: string; AOlderDataTime: TDateTime)
  : TStringList;
var SearchResult : TSearchRec;
    SearchKey: string;
begin
  result := TStringList.Create;

  SearchKey :=  APath + '*.' + AExt;
  if FindFirst(SearchKey, faAnyFile, SearchResult) = 0 then
  begin
    repeat
      if SearchResult.Attr = faDirectory then
        Continue;

      if SearchResult.TimeStamp < AOlderDataTime then
        result.Append(APath + SearchResult.Name);
    until FindNext(searchResult) <> 0;

    FindClose(searchResult);
  end;
end;
Код:
Memo.Lines.Text := GetOldFiles('D:\test\', 'txt', now).Text;
Ну как-то так. Допили напильником и вызов, и внутренности (и заодно глянь, мож где память потекла, это ДЗ тебе)

Упс, не заметил, что ответ уже дали
Вы там держитесь.

Последний раз редактировалось TaLadno; 18.04.2016 в 11:01. Причина: Упс, не заметил, что ответ уже дали
TaLadno вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и удаление файлов jonikster Общие вопросы C/C++ 17 07.03.2016 12:46
Поиск и удаление файлов jonikster Общие вопросы Delphi 2 05.01.2016 11:49
поиск и удаление файлов Gsmart120 Помощь студентам 4 22.12.2013 23:12
Поиск файлов по маске и нахождения общего размера найденных файлов и вывод в терминал Колямбий Помощь студентам 0 21.04.2013 21:31
Создание/изменение/удаление файлов в потоке. Мониторинг файлов в потоке. The Real Kos Общие вопросы Delphi 5 22.10.2012 23:58