![]() |
|
|
|
|
#1
|
|||
|
|||
|
еСли я пропишу DeleteFile('D:/Games')
То папка Games удалится? |
|
#2
|
||||
|
||||
|
Нет, нужно использовать DeleteDirectory или RemoveDirectory, точно не помню, смотри справку Delphi. Таким образом можно удалять только пустую папку.
|
|
#3
|
|||
|
|||
|
А как мне удалить папку которая содержит файлы?
|
|
#4
|
||||
|
||||
|
Код:
function RemDir(sDir: string): Boolean;
var
iIndex: Integer;
SearchRec: TSearchRec;
sFileName: string;
begin
sDir := sDir + '\*.*';
iIndex := FindFirst(sDir, faAnyFile, SearchRec);
while iIndex = 0 do
begin
sFileName := ExtractFileDir(sDir)+'\'+SearchRec.name;
if SearchRec.Attr = faDirectory then
begin
if (SearchRec.name <> '' ) and
(SearchRec.name <> '.') and
(SearchRec.name <> '..') then
RemDir(sFileName);
end
else
begin
if SearchRec.Attr <> 32 then
FileSetAttr(sFileName, 32);
if not DeleteFile(sFileName) then
ShowMessage('Неможливо видалити файл: ' + sFileName);
end;
iIndex := FindNext(SearchRec);
end;
FindClose(SearchRec);
RemoveDir(ExtractFileDir(sDir));
Result := True;
end; |