Einzelnen Beitrag anzeigen

Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

Fehler im Verzeichnis suchen Algo

  Alt 17. Jul 2004, 16:59
Hy Leutz,
hab ein Problem mit meinem Verzeichnissuch algorithmus auf Findfirst basierend.
Und zwar findet er nur die Verzeichnisse unter C:\ wen ich ihm als ausgangspfad c:\ gebe
und nicht die unterordner.
Wenn ich mir alles was er durchsucht ausgeben lasse sehe ich das er alle unterordner findet
jedoch gibt er mir als Result nicht den den er gefunden hat.

Hier der Code

Delphi-Quellcode:
function FindPath(ToBeFound, Path : string) : string;
var
  ASearchRec : TSearchRec;
begin
  Result := '';

  if Path[Length(Path)] <> '\then
    Path := Path + '\';

  if FindFirst(Path + '*.*', faDirectory, ASearchRec) = 0 then
  begin
    repeat
      if ((ASearchRec.Attr and faDirectory) = faDirectory) and
         (ASearchRec.Name <> '..') and
         (ASearchRec.Name <> '.') then
      begin
        While CompareText(ToBeFound, ASearchRec.Name) = 0 do
        begin
          Unit1.Form1.ListBox1.Items.Add(BuildFileName(Path, ASearchRec.Name));
          Result := BuildFileName(Path, ASearchRec.Name);
          Break;
        end;
        FindPath(ToBeFound, BuildFileName(Path, ASearchRec.Name));
      end;
    until FindNext(ASearchRec) <> 0;
    FindClose(ASearchRec);
  end;
end;
Die Testausgabe zeigt mir sogar an den Pfad des gefundenen Pfades jedoch
speichert er es nicht in Result und hört auch nicht auf zu suchen.

BuildFileName ist eine procedure von mir die Dateistrings zusammenfügt und
darauf aufpasst das keine doppelten \ oder so entstehen diese läuft 100%tig.

Wäre echt cool wenn ihr den Fehler findet.

Greetz
Master_BB
  Mit Zitat antworten Zitat