Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dateinamen (https://www.delphipraxis.net/164559-dateinamen.html)

t0mmy 18. Nov 2011 08:48

Dateinamen
 
Hallo!

Und zwar ich durchsuche bestimmte ordner nach *.txt dateien. Dort sind aber auch einer dateien enthalten. Zu meiner Frage... Ich möcht nur die Dateinamen von den .txt dateien in eine listbox schreiben.. was muss ich da bei der folgenden prozedur ändern?:

Delphi-Quellcode:
procedure ListFileDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.txt', 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;

DeddyH 18. Nov 2011 08:51

AW: Dateinamen
 
Zitat:

Zitat von t0mmy (Beitrag 1136798)
Dort sind aber auch einer dateien enthalten.

Geht das auch auf Deutsch?

Zitat:

Zitat von t0mmy (Beitrag 1136798)
Delphi-Quellcode:
if (SR.Attr <> faDirectory) then

Das ist bestimmt nicht das, was Du eigentlich meinst.

Delphi-Quellcode:
if ((SR.Attr and faDirectory) <> faDirectory) then
Versuch es mal damit.

t0mmy 18. Nov 2011 08:54

AW: Dateinamen
 
Entschuldigung :D.. hab wohl zu schnell geschrieben bevor ich nachgedacht habe.
Ja also ich hab damit gemeint das dort auch andere Dateien vorhanden sind.
Ich such halt nur die Dateinamen von den txt-Dateien in dem Verzeichnis.
Hoffe jetzt kennt man sich besser aus. :)

Es funktionieren beide Varianten, wo liegt der Unterschied?

DeddyH 18. Nov 2011 09:04

AW: Dateinamen
 
Der Unterschied liegt darin, dass Deine Variante prüft, ob die Attribute faDirectory genau entsprechen. Meine Variante hingegen prüft, ob faDirectory in den Attributen enthalten ist. Ist z.B. auch noch faArchive gesetzt, dann stimmt Deine Abfrage nicht mehr. Übrigens: es gibt in der DP diverse FindAllFiles-Varianten, hast Du die einmal ausprobiert?

Bummi 18. Nov 2011 10:07

AW: Dateinamen
 
Wenn Du bei der Einschränkung nicht klar kommen solltest kannst Du ja auch Notfalls vor dem Einfügen prüfen
Delphi-Quellcode:
if Uppercase(ExtractFileExt(SR.Name))='.TXT' then FileList.Add(SR.Name);


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