Показать сообщение отдельно
  #3  
Старый 29.09.2007, 08:21
Dru095 Dru095 вне форума
Прохожий
 
Регистрация: 28.09.2007
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от Decoding
Просканировать каталог можно так (подгони этот пример под свою задачу) - http://decoding.narod.ru/faq/files/files001.html#006

Дату создания файла можно узнать так - http://decoding.narod.ru/faq/files/files002.html#002


Спасибо за совет, справился следующим способом.



//определяет размер файла
function GetFileDate(FileName: string): string;
var
FHandle: Integer;
begin
FHandle := FileOpen(FileName, 0);
try
Result := DateToStr(FileDateToDateTime(FileGetDate(FHandle)) );
finally
FileClose(FHandle);
end;
end;

//удаляет старые архивы
procedure GetAllFiles( Path: string );
var
sRec: TSearchRec;
isFound: boolean;
begin

IniFiles := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Setup.ini'); //указываем на ИНИ файл

isFound := FindFirst( Path + '\*.rar', faAnyFile, sRec ) = 0;
while isFound do
begin
if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
if ( sRec.Attr and faDirectory ) <> faDirectory then
//проверка архивов на актуальность
if GetFileDate(Path + '\' + sRec.Name) < DateToStr(Now - StrToInt(IniFiles.ReadString('SETUP', 'ACTUAL_BD_DAY', '6'))) then
//удаление
deletefile(Path + '\' + sRec.Name);

isFound := FindNext( sRec ) = 0;
end;

FindClose( sRec );
end;





вызов
GetAllFiles(SetWorkArxiv_path.Text); //Выполняем функцию удаления старых архивов

где SetWorkArxiv_path.Text //путь к каталогу с архивами


Вопрос к спецам можно ли сделать это как то проще?
Ответить с цитированием