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