Как удалить папку в delphi?

Пользователь

gussie.jones

от gussie.jones, в категории: Другие , 7 месяцев назад

Как удалить папку в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

P

Пользователь

от Programmer , 7 месяцев назад

@gussie.jones Добрый день!

Все зависит от того какую версию Delphi вы используете, до версии 2010 года это делалось сложнее, по причине того, что нельзя было удалить полную папку и предварительно приходилось удалять все ее содержимое, пустая удалялась при помощи процедуры RemoveDir

В новых версиях удаление происходит просто

1
TDirectory.Delete('полный путь твоей директории',true);

А в старых сделать очистку папки можно было так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
procedure DelFolder(const dir: string);
Var SR:TSearchRec;
    FindRes:Integer;
begin
FindRes:=FindFirst(dir+'*.*',faAnyFile,SR);
While FindRes=0 do
   begin
    if ((SR.Attr and faDirectory)=faDirectory)and(SR.Name<>'.')and(SR.Name<>'..') then
      begin
      Application.ProcessMessages;
        DelFolder(dir+SR.Name+'\');
        RemoveDir(dir+SR.Name);
      end;
    if ((SR.Attr and faDirectory)<>faDirectory)and(SR.Name<>'.')and(SR.Name<>'..') then
        DeleteFile(dir+SR.Name); 
      FindRes:=FindNext(SR);
   end;
FindClose(SR); 
end;