Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 12. Jun 2003, 16:39
Moin ModHellwalker,

ich hab' das mal eben etwas abgwandelt.
Das Problem ist, dass die Prozedure sofort aussteigt, wenn sie nichts passendes mehr findet.

Das hier ist jetzt zwar auch noch nicht der Weisheit letzter Schluss, da der zu suchende Dateiname exakt (von Gross-/Kleinschreibung mal abgesehen) angegeben werden muss, also keine Wildcards erlaubt sind, aber ansonsten geht's.

Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; Mask: string; Recurse: Boolean = True);

var
  SR: TSearchRec;
begin
  if AnsiLastChar(RootFolder)^ <> '\then
    RootFolder := RootFolder + '\';
  if Mask = 'then
    Mask := '*.*';
  if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
  try
    repeat
      if SR.Attr and faDirectory = faDirectory then
      begin
        if Recurse then
        begin
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
        end;
      end else begin
        if AnsiUpperCase(SR.Name) = AnsiUpperCase(Mask) then begin
          Form1.Memo1.Lines.Add(RootFolder + SR.Name);
        end;
      end;
      Application.ProcessMessages;
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat