В примере стираются все файлы в каталоге и сам каталог. Чтобы удалить файл, помечанные только для чтения (read only) и занятые другими программами в момент удаления - напишите дополнительную процедуру.
procedure TForm1.Button1Click(Sender: TObject);
var
   DirInfo: TSearchRec;
   r: integer;
begin
   r := FindFirst('C:\Download\*.*', FaAnyfile, DirInfo);
   while r = 0 do
   begin
      if ((DirInfo.Attr and FaDirectory <> FaDirectory)          and (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
      if DeleteFile(pChar('C:\Download\' + DirInfo.Name))= false then
         ShowMessage('Unable to delete: C:\Download\'+DirInfo.Name);
      r := FindNext(DirInfo);
   end;
   SysUtils.FindClose(DirInfo);
   if RemoveDirectory('C:\Download\') = false then
      ShowMessage('Unable to delete directory: C:\Download\');
end;
Предыдущий вопрос
|
|
Следующий вопрос
by ktima
|