AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Dateiliste - Dateien und Verzeichnisse aussortieren anhand einer StringListe
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiliste - Dateien und Verzeichnisse aussortieren anhand einer StringListe

Ein Thema von Jim Carrey · begonnen am 14. Okt 2016 · letzter Beitrag vom 16. Okt 2016
Antwort Antwort
KaiW

Registriert seit: 5. Feb 2016
6 Beiträge
 
Delphi XE7 Architect
 
#1

AW: Dateiliste - Dateien und Verzeichnisse aussortieren anhand einer StringListe

  Alt 16. Okt 2016, 14:30
Hi Jim,

also wenn ich Dich richtig verstanden habe, stehen in der Stringliste sowohl Verzeichnisnamen als auch Dateinamen, die ausgeschlossen werden sollen.
Dann würde ich die Prüfung genau anders herum machen, also bei jeder gefunden Datei den kompletten Dateinamen inkl. Pfad in einer String-Variablen speichern und dann die Stringliste durchgehen und auf Vorkommen in dem Pfad testen. Also ähnlich Deinem Einfall beim Einkaufen, aber leicht abgeändert.

Klingt zugegebenermaßen etwas konfus, daher hier mal etwas Pseudocode:

Delphi-Quellcode:
ADateiname:= APfad + SR.Name; //SR ist ein TSearchRec, APfad ist der aktuelle mit FindFirst durchsuchte Pfad inkl. abschließendem "\"

AImFilter:= False;
FOR i:=0 TO SL.Count-1 DO
 begin
      IF Pos(SL[i], ADateiname) > 0 THEN
       begin
            AImFilter:= True;
            Break;
       end;
 end;

IF NOT AImFilter THEN
 begin
      //Datei verarbeiten
 end;
Es werden also alle "ausgefiltert", die einen der ausgeschlossenen Einträge aus der StringList im Dateinamen haben.

Wenn dann AFileName beispielsweise "c:\Verzeichnis1\datei1.txt" ist, könnte in der StringList (SL) sowohl "c:\Verzeichnis1\datei1.txt", als auch "c:\Verzeichnis1\" oder auch nur "Verzeichnis1" stehen, um die Datei auszuschließen.

War es in etwa das was Du gesucht hast?

Viele Grüße

Kai
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#2

AW: Dateiliste - Dateien und Verzeichnisse aussortieren anhand einer StringListe

  Alt 16. Okt 2016, 15:26
Danke für die Hilfe!

ich habe es jetzt so gelöst...
in meiner Datei stehen alle Pfade in absoluter Form. Z.B. D:\Verzeichnis1\*
In meiner Funktion wird nun geprüft, ob das letzte Zeichen ein * ist, wenn ja, wird es entfernt.
Dann wird geprüft, ob es sich um ein Verzeichnis oder um eine Datei handelt.

Und dann
Delphi-Quellcode:
sAktuellerPfad := sl.Strings[i];
if (bIsDirectory and (PosEx(sAktuellerPfad, sMeinPfad, 1) = 1)) or ((not bIsDirectory) and (sAktuellerPfad = sMeinPfad)) then
Wenn in der StringListe steht:
Zitat:
D:\Verzeichnis1\*
Dann wird D:\Verzeichnis1\ und alles was da drin ist aussortiert.

Und
Zitat:
D:\Verzeichnis1\Datei.txt
würde nur diese Datei aussortieren.

Aktuell noch umständlich und schlecht erweiterbar, aber ich gucke mal was sich machen lässt.

Ich prüfe jetzt also jeden Pfad der mit FindFirst gefunden wird mit allen Pfaden aus der StringList.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:49 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