Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2009, 13:57
qwwwq qwwwq вне форума
Прохожий
 
Регистрация: 12.01.2009
Сообщения: 47
Репутация: 10
По умолчанию Удаление файлов по дате

Как удалить файлы из папки дата создание которых например боль чем неделя. Заранее спасибо
Ответить с цитированием
  #2  
Старый 17.07.2009, 15:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,051
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тебе помогут FindFirst/FindNext/FindClose и FileTimeToDateTime (кажется так). Ну и DeleteFile, естественно.
Ответить с цитированием
  #3  
Старый 17.07.2009, 16:03
qwwwq qwwwq вне форума
Прохожий
 
Регистрация: 12.01.2009
Сообщения: 47
Репутация: 10
По умолчанию

Я вот сейчас сижу и не могу сделать чтобы прога во первых определила все файлы в папке ну и затем в цикле каждый файл обработал. Типо если он старше 7 дней то удаляем.
Ответить с цитированием
  #4  
Старый 17.07.2009, 16:05
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  sr: TSearchRec;
  isFound: boolean;
  temp, APath : string;
   dat1, dat2 : tdate;
begin
dat1:=StrToDate( '11.07.2009' );  //дата
 APath:='papka\';   //путь
 isFound := FindFirst( APath + '*.*', faAnyFile, sr ) = 0;  //Поиск первого файла
  while isFound do
   begin
     if ( sr.Name <> '.' ) and ( sr.Name <> '..' ) and    //Если файл не является папкой 
         ( ( sr.Attr and faDirectory ) <> faDirectory ) then
         begin
           temp := ExtractFileName( sr.Name );   //получаем имя файла 
           dat2:=( FileDateToDateTime(FileAge( APath + sr.Name ) ) ) ;  //получаем дату

            if dat1  >  dat2
             then DeleteFile(apath + temp);

         end;
       isFound := FindNext( sr ) = 0;   //ищем следующий файл
   end;
   FindClose( sr );  // прекратить поиск
end;

Последний раз редактировалось pesi, 17.07.2009 в 16:42.
Ответить с цитированием
  #5  
Старый 17.07.2009, 16:59
qwwwq qwwwq вне форума
Прохожий
 
Регистрация: 12.01.2009
Сообщения: 47
Репутация: 10
По умолчанию

Большое спасибо!!!
Ответить с цитированием
  #6  
Старый 17.07.2009, 22:45
qwwwq qwwwq вне форума
Прохожий
 
Регистрация: 12.01.2009
Сообщения: 47
Репутация: 10
По умолчанию

как опеределить разницу между датами.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter