AGB  ·  Datenschutz  ·  Impressum  







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

Ordner löschen

Ein Thema von Seppel · begonnen am 16. Nov 2007 · letzter Beitrag vom 17. Nov 2007
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#1

Ordner löschen

  Alt 16. Nov 2007, 16:56
Hi,

Ich will einen Ordner löschen, aber gewisse unter Ordner nicht, diese liest er aus nem edit Feld aus, also den Namen und dann löscht er sie net, also noch gehts nicht^^.
Deswegen meine Frage wie geht das?

RemoveDir// das weiß ich.^^
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ordner löschen

  Alt 16. Nov 2007, 16:58
Hol tief Luft und dann stell die Frage noch einmal so, dass ich sie auch verstehe. Welcher Unterordner z.B.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#3

Re: Ordner löschen

  Alt 16. Nov 2007, 17:00
ok.^^
Also ich sags so ich möchte alles in einem Ordner löschen, kann aber definniern was nicht gelöscht wird.
(z.B. im Ordner Bla sind 5 Ordner und alle außer 1 und 2 dürfen gelöscht werden)

Jetzt verstanden?, ja sry falsch formuliert^^
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Ordner löschen

  Alt 16. Nov 2007, 17:03
Wenn die Tiefe der zu löschenden Unterordner beliebig sein soll, wirst Du um eine Rekursion schwerlich herumkommen. Bedenke zudem, dass Du nur leere Ordner löschen kannst. Das heißt also, dass Du die Unterverzeichnisse durchlaufen und dort alle Dateien löschen musst. Stößt Du auf ein Unterverzeichnis, tust Du dort dasselbe.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#5

Re: Ordner löschen

  Alt 16. Nov 2007, 17:05
Ok, gut also es gibt ja einen Ordner darin sind Unterodner aber in denen selber sind höchstens Datein.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Ordner löschen

  Alt 16. Nov 2007, 17:08
Gut, dann wirst Du das Dreigespann FindFirst, FindNext, FindClose anwenden müssen. Beispiele findest Du bestimmt über die Forensuche. Falls Du nicht klarkommst, melde Dich nochmal.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#7

Re: Ordner löschen

  Alt 16. Nov 2007, 17:13
http://www.dsdt.info/tipps/?id=68
Hab da das gefunden im Web, wenn ich im Forumsuche finde ich immer so viel.
Nur wie kann ich jetzt machen, dass es gewisse Ornder nicht löscht.

BeispieL:
Ich hab ne Datenbank, da stehen User drinne und man kann bei denen Bilder sehen.
Wenn die gelöscht werden, dann mache ich das so, dass bei beginn des PRogramms alles außer den Usern die in der DB sind gelöscht werden, also ein Vergleich und der rest muss weg.
Ist das so besser um ne Lösung zu finden, so kann man ja auch einen Vergleich machen, alles was net in der DB ist wird gelöscht.(Also z.B. C:/DB/User/ darin sind dann den Usern ihre Pics, wobei jeder User einen eigenen Ordner hat, z.B. Frank und wenn Frank gelöscht wird soll beim Start des Programms auch der Ordner gelöscht werden.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: Ordner löschen

  Alt 16. Nov 2007, 17:22
In einer Liste (Delphi Hilfe: TStringList) die nicht zu löschenden Ordner eintragen und dann vor jedem löschen erstmal den Namen bzw. Pfad des Ordners aus der Liste vergleichen, fertig.
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#9

Re: Ordner löschen

  Alt 16. Nov 2007, 17:26
Zitat von Nuclear-Ping:
In einer Liste (Delphi Hilfe: TStringList) die nicht zu löschenden Ordner eintragen und dann vor jedem löschen erstmal den Namen bzw. Pfad des Ordners aus der Liste vergleichen, fertig.
Gut, ich trag also die wichtigen einund wie lösche ich die dann net??
http://www.dsdt.info/tipps/?id=68 Das hier löscht alles und mit dem Vergleich weiß ich jetzt net so recht.

Delphi-Quellcode:
if DeleteFile('c:\DB\') then
//ergleiche muss ich das ja dann mit der Liste... Das eintragen darein ist net das Problem, nur das vergleichen...Also muss ich wahrscheinlich auch erst ma alles darin auslesen oder?? und dann vergleichen.
Danke.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Ordner löschen

  Alt 16. Nov 2007, 17:34
Evtl. so (vorsichtig beim Ausprobieren!!):
Delphi-Quellcode:
function DeleteDirRecursive(sPath: string; DoNotDelete: TStrings): Boolean;
var Rec: TSearchRec;
begin
  if not DirectoryExists(sPath) then
    begin
      Result := false;
      exit;
    end;
  sPath := IncludeTrailingPathDelimiter(sPath);
  if FindFirst(sPath + '*.*',faAnyFile,Rec) = 0 then
    begin
      repeat
        if (Rec.Attr and faDirectory) = faDirectory then
          begin
            if (Rec.Name <> '.') and (Rec.Name <> '..') and
               (*Vorsicht!! Man muss sich einig sein, wie man die
                Verzeichnisnamen einträgt (ganzer Pfad oder nicht,
                 groß oder klein geschrieben etc.) *)

               (DoNotDelete.IndexOf(Rec.Name) < 0) then
              DeleteDirRecursive(sPath + Rec.Name,nil);
          end
        else
          DeleteFile(sPath + Rec.Name);
      until FindNext(Rec) <> 0;
      FindClose(Rec);
    end;
  Result := RemoveDir(sPath);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 09:17 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