Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateien eines Verzeichnis auflisten (https://www.delphipraxis.net/139926-dateien-eines-verzeichnis-auflisten.html)

delphi-n 8. Sep 2009 17:00


Dateien eines Verzeichnis auflisten
 
hi!
Ich wollte hiermit die Dateien eines Verzeichnis auflisten:

Delphi-Quellcode:
procedure ListFileDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        FileList.Add(SR.Name);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;



...

ListFileDir(Edit1.Text, Form3.ListBox1.Items);

...
Jedoch finde ich bei "C:\Dokumente und Einstellungen\XXXXX\Eigene Dateien" nur "Eigene Dateien" in der Liste, obwohl ich Dateien in dem Ordner habe.

Und in "C:\Dokumente und Einstellungen\All Users\Dokumente" befindet sich in der Liste "Dokumente".


Habt ihr eine Idee, woran das liegt? (oder eine andere Variante)


Vielen Dank

DeddyH 8. Sep 2009 17:03

Re: Dateien eines Verzeichnis auflisten
 
Zitat:

Delphi-Quellcode:
if (SR.Attr <> faDirectory) then

:shock:
Delphi-Quellcode:
if (SR.Attr and faDirectory) = 0 then
So sollte es besser sein.

himitsu 8. Sep 2009 17:04

Re: Dateien eines Verzeichnis auflisten
 
und dann noch:
Code:
'C:\Dokumente und Einstellungen\XXXXX\Eigene Dateien' + '*.*'

ist "alles was mit 'Eigene Dateien' anfängt"
'C:\Dokumente und Einstellungen\XXXXX\Eigene Dateien*.*'

du willst aber "das Untergeordnete" davon
'C:\Dokumente und Einstellungen\XXXXX\Eigene Dateien[color=#ff001f][b]\[/b][/color]*.*'

delphi-n 8. Sep 2009 17:53

Re: Dateien eines Verzeichnis auflisten
 
danke, funktioniert :thumb:

aber ich seh, dass die system-dateien mit aufgelistet werden. (klar)

nun soll das ein archivierungsprogramm werden. Ist es sinnvoll diese mit zu archivieren?

(hier z.B. *.LCS)

rollstuhlfahrer 8. Sep 2009 19:24

Re: Dateien eines Verzeichnis auflisten
 
sr.attr and faHidden <> 0 für alle NICHT verstecken Dateien
sr.attr and faSysFile <> 0 für alle NICHT Systemdateien

Bernhard

delphi-n 8. Sep 2009 19:38

Re: Dateien eines Verzeichnis auflisten
 
die dateien werden trotzdem angezeigt :gruebel:

DeddyH 9. Sep 2009 10:45

Re: Dateien eines Verzeichnis auflisten
 
Wenn Du weder Verzeichnisse noch System- noch versteckte Dateien listen möchtest, musst Du die Attribute entweder einzeln nacheinander oder mit einer passenden Bitmaske abfragen.
Delphi-Quellcode:
if ((SR.Attr and faDirectory) = 0) and ((SR.Attr and faHidden) = 0) and ((SR.Attr and faSysFile) = 0) then
oder
Delphi-Quellcode:
if (SR.Attr and (faDirectory or faHidden or faSysFile)) = 0 then
Falls Dir das unklar ist, schau doch mal in mein Tutorial :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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