AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Einen Ordner komplett löschen

Ein Thema von qb-tim · begonnen am 26. Mai 2006 · letzter Beitrag vom 6. Okt 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Einen Ordner komplett löschen

  Alt 26. Mai 2006, 16:58
RemoveDir(Ordner) Das ist der Befehl einen Ordner zu löschen - dies geht aber nur, wenn der Ordner leer ist...

Wie lösche ich ALLE sich in dem Ordner befindenden Dateien UND Ordner auch?
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 17:22
Hallo,

du könntest es so machen, wie es in diesem Thread beschrieben wird.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 17:25
hier noch eine Variante:
Delphi-Quellcode:
procedure DeleteFiles(FilenameMask: String);
var LRec: TSearchRec;
    LPath: String;
begin
  if FindFirst(FilenameMask, faAnyFile, LRec) = 0 then
  begin
    LPath := ExtractFilePath(FilenameMask);
    repeat
      if (LRec.Name <> '.') and (LRec.Name <> '..') then
        DeleteFile(LPath + LRec.Name);
    until FindNext(LRec) <> 0;
  end;
  FindClose(LRec);
end;

function DeleteDirectory(ADirName: String): Boolean;
var LRec: TSearchRec;
begin
  DeleteFiles(ADirName + '\*');
  if FindFirst(ADirName + '\*', faDirectory + faHidden + faSysFile, LRec) = 0 then
  begin
    repeat
      if (copy(LRec.name, 1, 1) <> '.') and DirectoryExists(ADirName + '\' + LRec.Name) then
        DeleteDirectory(ADirName + '\' + LRec.Name);
    until FindNext(LRec) <> 0;
  end;
  FindClose(LRec);
  Result := RemoveDir(ADirName)
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 17:30
Oder mit Hier im Forum suchenSHFileOperation, obwohl ich es auch gern selber mache (wie oben beschrieben), denn da kann man notfalls auch mal etwas mehr Einfluß (z.B. 'ne genauere FehlerMeldung ausgeben, also auch mal an wlcher Datei es ganz genau hängt).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#5

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:00
@ SirThornberry

Ich blicke leider nicht durch.

Nehmen wir an ich möchte den Ordner "C:\test" mitsamt den Inhalt löschen.

Wie wende ich dann deine Prozeduren in einer OnClick prozedur an?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:05
Dann musst du die Funktion DeleteDirectory aufrufen:
DeleteDirectory('c:\test');
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#7

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:16
[Fehler] Unit3.pas(129): Undefinierter Bezeichner: 'DeleteDirectory'
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:26
Wo hast denn Du die Prozeduren hingeschrieben.

Hast Du sie als Methode der Form zugewiesen? Das ist nicht nötig.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#9

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:29
Ich habe Sie mit allen anderen Prozeduren (wie FormActivate oder ButtonClick)

Ich habe nichts anderes getan, als den Quellentext von SirThornberry und eine Zeile in einer OnClick prozedur hinzugefügt.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Einen Ordner komplett löschen

  Alt 26. Mai 2006, 18:32
.. und steht diese OnClick Methode vor oder hinter den eingefügten Prozeduren?
Sie (die OnClick Methode) sollte dahinter stehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz