Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

Findfirst, Findnext geschachtelt?

  Alt 23. Jul 2010, 19:45
Ich möchte in Pfaden nach weiteren Pfaden suchen und nutze folgenden Code, aber es kommt nicht das Ergebnis raus, was ich eigentlich erwarte. Geht eigentlich ein Verschachteln von Findfirst/Findnext/Findclose?

Aufbau der Pfade wie folgt:

d:\xxxx\yyyyyyyy\*.*

Mit der äußeren Schleife wollte ich die Pfade in der Art xxxx durchsuchen und wenn ich auf einen solchen gestoßen bin, dann in der inneren Schleife dann nach yyyyyyyyy suchen.
Oder habe ich da einen Denkfehler?


Delphi-Quellcode:

      DirPrdGroup:=AddBackSlash(Dir);

      if SysUtils.FindFirst(DirPrdGroup + '*.*', SysUtils.faDirectory, SR) = 0 then try
        repeat
          if ((SR.attr and faDirectory) = faDirectory) and
             (SR.Name <> '.') and (SR.Name <> '..') then


            DirManuGroup:=AddBackSlash(DirPrdGroup + SR.Name);
            if SysUtils.FindFirst(DirManuGroup + '*.*', SysUtils.faDirectory, SR2) = 0 then try
              repeat
                if ((SR2.attr and faDirectory) = faDirectory)
                and (length(SR2.Name)=8)
                and (SR2.Name <> '.')
                and (SR2.Name <> '..')
                then

                  IdxRow:=RowCount-1;
                  Cells[0, IdxRow]:=SR2.Name;

                  AddRow; //leere Zeile dranhängen



              until SysUtils.FindNext(SR2) <> 0;
            finally
              FindClose(SR2);
            end;




        until SysUtils.FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat