AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen

Ein Thema von t0mmy · begonnen am 15. Mär 2012 · letzter Beitrag vom 16. Mär 2012
 
Popov
(Gast)

n/a Beiträge
 
#30

AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen

  Alt 16. Mär 2012, 14:25
Okay das zum löschen eines Verzeichnisses hab ich bereits hier in der community gefunden.. ich hab mir so überlegt, ich würde gern die pfade wo sich der Ordner oder wenn mehr in dem Stammverzeichnis vorkommen gerne an eine Stringlist übergeben.. aber wie suche ich nach einem Ordnernamen?
Hier eine komplexere Funktion, die auch Ordner rekursiv durchsucht. Auch die Funktion habe ich für dich etwas gekürzt. Sollte es irgendwo einen Fehler geben, dann liegt es an der Kürzung.

Solltest du nur Ordner suchen, dann guck in der zweiten Hälfte wie nach Ordnern gesucht wird.

Delphi-Quellcode:
//Liefert Datei-Liste laut Maske
procedure GetFiles(Path, ExtMask: String; List: TStrings; SubFolder: Boolean);
var
  Attrib: Integer;
  Search: TSearchRec;
begin
  if Length(Path) > 0 then
    if Path[Length(Path)] <> '\then Path := Path + '\';

  Attrib := faArchive or faReadOnly or faHidden;// damit es keinen Krach gibt

  if FindFirst(Path + '*.' + ExtMask, Attrib, Search) = 0 then
  repeat
    List.Add(Path + Search.Name);
  until FindNext(Search) <> 0;

  FindClose(Search);

  if SubFolder then
  begin
    if FindFirst(Path + '*.*', faDirectory, Search) = 0 then
    repeat
      if ((Search.Attr and faDirectory) = faDirectory) and
        (Search.Name[1] <> '.') then
        GetFiles(Path + Search.Name, ExtMask, List, SubFolder);
    until FindNext(Search) <> 0;

    FindClose(Search);
  end;
end;
Bedenke bitte, dass du jetzt rekursiv arbeitest. Solltest du auf die Idee kommen List mit einem try except Block zu schützen, fliegt dir bei einer Exception die ganze Funktion um die Ohren, da wegen rekursiv dann immer wieder auf eine freigegebene TStrings-Liste zugegriffen wird.

Geändert von Popov (16. Mär 2012 um 23:08 Uhr) Grund: Kleinen Fehler ausgebessert
  Mit Zitat antworten Zitat
 


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 21:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz