|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Удаление папки в цикле...
привет...
Народ...кто поможет... Как узнать есть ли файл в папке....а если есть, то в дальнейшем удалить пустую папку... |
#2
|
|||
|
|||
удаляет все файлы из папки и саму папку
procedure TForm1.Button1Click(Sender: TObject); var DirInfo: TSearchRec; r : Integer; begin r := FindFirst('C:\Download\Test\*.*', 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\test\' + DirInfo.Name)) = false then ShowMessage('Unable to delete : C:\Download\test\' + DirInfo.Name); r := FindNext(DirInfo); end; SysUtils.FindClose(DirInfo); if RemoveDirectory('C:\Download\Test') = false then ShowMessage('Unable to delete direcotry : C:\Download\test'); end; |
#3
|
|||
|
|||
как проверить, есть ли файлы в директории, если есть ...
Привет!!!
Как проверить, есть ли файлы в директории(faAnyFile), если нет, то удалить пустую папку, а если есть ....работать дальше..... |
#4
|
||||
|
||||
Код:
function IsDirEmpty(sDirPath: String): Boolean; var fs: TSearchRec; begin Result := True; sDirPath:= IncludeTrailingPathDelimiter(sDirPath); if FindFirst(sDirPath+ '*.*', faAnyFile, fs) = 0 then repeat if (fs.Name <> '.') and (fs.Name <> '..') then begin Result := False; FindClose(fs); Exit; end; until FindNext(fs) <> 0; FindClose(fs); end; Пример использованя: if IsDirEmpty('c:\dir') then MessageBox(0,PChar('Папка "c:\dir" пуста!!'),'',MB_ICONINFORMATION); PS Писал на скорую руку, мог ошибиться... THE CRACKER IS OUT THERE Последний раз редактировалось 4kusNick, 07.11.2006 в 11:58. |