![]() |
FindFirst/FindNext -> findet Dateien nicht!
Ich habe folgenden Source:
Delphi-Quellcode:
Warum werden die Dateien im Ordner Cookies nicht angezeigt? Selbst Versteckte Dateien zeigt er, die meiner Meinung nach einen höheren Sicherheitsstatus haben, als die im Ordner Cookies!
procedure DateiListe(Pfad, Name: String; SubDirs: Boolean;
Attr: Integer; Ausgabe: TStrings); var F1, F2: TSearchRec; A: Char; begin Pfad := SetPfad(Pfad, True); if FindFirst(Pfad+Name, Attr, F1) = 0 then begin if (F1.Name <> '.') and (F1.Name <> '..') then begin Case F1.Attr of faDirectory : A := '+'; faHidden : A := '#'; faArchive : A := '<'; faReadOnly : A := '-'; faSysFile : A := '$'; faVolumeID : A := '='; faAnyFile : A := '/'; end; if A > '' then Ausgabe.Add(A+Pfad+F1.Name); // if ((F1.Attr and faDirectory) = faDirectory) and (SubDirs) then DateiListe(Pfad+SetPfad(F1.Name, True), Name, SubDirs, Attr, Ausgabe); end; While FindNext(F1) = 0 do begin if (F1.Name <> '.') and (F1.Name <> '..') then begin Case F1.Attr of faDirectory : A := '+'; faHidden : A := '#'; faArchive : A := '<'; faReadOnly : A := '-'; faSysFile : A := '$'; faVolumeID : A := '='; faAnyFile : A := '/'; end; if A > '' then Ausgabe.Add(A+Pfad+F1.Name); // if ((F1.Attr and faDirectory) = faDirectory) and (SubDirs) then DateiListe(Pfad+SetPfad(F1.Name, True), Name, SubDirs, Attr, Ausgabe); end; end; end; end; |
Re: FindFirst/FindNext -> findet Dateien nicht!
F1.Attr ist Bitcodiert, d.h. es kann auch faDirectory UND faHidden gesetzt sein. Deinen Anfrage mit Case ist demnach falsch.
Gruß Hagen |
Re: FindFirst/FindNext -> findet Dateien nicht!
mach die Abfrage immer so
Delphi-Quellcode:
Das funktioniert natürlich für alle Attribute
if (F1.attr AND faDirectory) = faDirectory then
//... |
Re: FindFirst/FindNext -> findet Dateien nicht!
Das weiß ich inzwischen schon ->
![]() aber ich habe diese Abfrage mal weggelassen, da hat es mir die Cookies auch nicht aufgelistet! |
Re: FindFirst/FindNext -> findet Dateien nicht!
Die Cookies wirst du so nicht bekommen. Das ist ein spezieller Ordner in Windows. An dessen Inhalt kommst du mit
![]() |
Re: FindFirst/FindNext -> findet Dateien nicht!
Nee, ich meine den Ordner "Cookies" in den Dokumente und Einstellungen! Dort sind doch Dateien drin, die listet mir die Procedure nicht auf!
Das muss doch unter Dach und Fach zu bekommen sein! |
Re: FindFirst/FindNext -> findet Dateien nicht!
Moin F.W.,
das Problem dürfte sein, dass die Variable A nicht initialisiert wird. Da es eine lokale Variable ist hat das zur Folge, dass sie einen zufälligen Wert enthält. Durch die Case Anweisungen wird der Wert auch nicht verändert (siehe Hagens und alcaeus' Postings), so das, vermutlich, A <= ' ' ist und nie eine Zeile zu Ausgabe hinzugefügt wird. |
Re: FindFirst/FindNext -> findet Dateien nicht!
Das hatte ich schonmal, ist aber inzwischen weg, so geht's ja, aber bei diesem Ordner nicht!
Es kann sein, dass andere Ordner auch nicht, aber der ist mir gerade aufgefallen! |
Re: FindFirst/FindNext -> findet Dateien nicht!
Moin F.W.,
was übergibst Du denn in Deinem Parameter Attr? Ich habe die Erfahrung gemacht, dass es sinnvoll ist grundsätzlich faAnyFile zu verwenden, und anschliessend selber zu filtern. |
Re: FindFirst/FindNext -> findet Dateien nicht!
Da ich sowieso alles auflisten möchte, nehme ich immer faAnyFile!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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