Вопрос:
Как удалить каталог вместе со всеми содержащимися в нем файлами?

Ответ:

В примере стираются все
файлы в каталоге и сам каталог. Чтобы удалить файл, помечанные только для чтения
(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;

Tags: , , , , , , ,

Дата создания: Воскресенье, июня 8, 2008 - 19:58 и находится в категории Delphi FAQ. Вы можете отслеживать ответы через RSS 2.0. Вы можете ответить.

Ответить

Вы должны быть в системе для комментирования.