AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi dateinamen in einem Ordner abfragen??
Thema durchsuchen
Ansicht
Themen-Optionen

dateinamen in einem Ordner abfragen??

Ein Thema von erniepb · begonnen am 11. Jun 2002 · letzter Beitrag vom 27. Jun 2003
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.421 Beiträge
 
Delphi 12 Athens
 
#6
  Alt 12. Jun 2002, 08:49
Hi,

ich habe noch eine kleine Anmerkung zu Luckies Code

Luckie testet, ob der Datei-/Verzeichnisname mit einem Punkt anfängt, übersieht jedoch den Fakt, das dieses sogar legitim ist, auch wenn der Explorer selbst das nicht zulässt. Von daher möchte ich noch folgenden Code vorschlagen. (Zusätzlich sind Datei- und Verzeichnissuche miteinander verbunden, die Liste ist unsortiert.)

Desweiteren habe ich noch einen try...finally...end Block eingesetzt, welcher garantiert, dass FindClose aufgerufen wird, um die von FindFirst belegten Ressourcen wieder freizugeben.

Code:
procedure FindFiles(Directory: String; Recurse: Boolean; List: TStrings);
var
  Res: Integer;
  SR: TSearchRec;
begin
  if AnsiLastChar(Directory)^ <> '\' then
    Directory := Directory + '\';
  Res := FindFirst(Directory + '*.*', faAnyFile, SR); try
  if Res = 0 then
  repeat
    if (SR.Name <> '.') and (SR.Name <> '..') then
      if SR.Attr and faDirectory = 0 then
        List.Add(Directory + SR.Name)
      else if Recurse then
        FindFiles(Directory + SR.Name, True, List);
  until FindNext(SR) <> 0;
  finally FindClose(SR);
end;
Ich habe den Code in dieser Form nicht getestet, er sollte aber funktionieren - mehr oder weniger

Parameterliste
  • Directory - Startverzeichnis für die Dateisuche
  • Recurse - True um Unterverzeichnisse nach Dateien zu durchsuchen
  • List - Ein String List (z.B. TStringList), welche die gefundenen Dateien aufnimmt.

Ich hoffe, dass das auch ein wenig hilft.

P.S. Luckie: Nicht böse sein
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  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 14:11 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