Einzelnen Beitrag anzeigen

Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#13

Re: DateiAttribute aus ListBox auslesen

  Alt 18. Sep 2003, 16:59
ja hast recht "pfad" muss dahin, vorher ging es auch es wurden aber nicht alle ordner komplett durchsucht, deshalb ist es mir nicht gleich aufgefallen:

Hier nochmal die procedure inklusieve Unterordnern durchsuchen:

Delphi-Quellcode:
procedure TFormDateienSuchen.UnterordnerDurchsuchen(ext: Str3; Pfad : String);
  var sr: TSearchRec;
       r: Integer;
begin
  r:= FindFirst(Pfad + '\*.*' , faAnyFile,sr);
  if r = 0 then begin
  try
  while r = 0 do
  Begin
      if (sr.Name <> '.') and (sr.Name <> '..') then
        begin
        If (sr.Attr and FaDirectory) = faDirectory then
          begin
            UnterordnerDurchsuchen (ext,pfad + '\' + sr.Name);
            ListBoxOrdner.Items.Add(Pfad + '\' + sr.Name);
          end
       else
       if AnsiUpperCase(ExtractFileExt(sr.Name)) = '.'+ AnsiUpperCase(ext) then
          ListBoxDateien.Items.Add(pfad + '\' + sr.Name);
       end;
     // Application.ProcessMessages;
       r:= FindNext (sr);
     end;
     finally
     FindClose (sr);
     end;
   end;

end;
Hier die procedure ohne Unterordner durchsuchen:

Delphi-Quellcode:
procedure TFormDateienSuchen.Durchsuchen(ext: Str3; Pfad : String);
  var sr: TSearchRec;
       r: Integer;
begin
  r:= FindFirst(Pfad + '\*.*' , faAnyFile,sr);
  if r = 0 then
  begin
    try
    while r = 0 do
    Begin
      if (sr.Name <> '.') and (sr.Name <> '..') then
        Begin
          ListBoxDateien.Items.Add(pfad + '\' + sr.Name);
        end;
      end;
       Application.ProcessMessages;
       r:= FindNext (sr);
 // end;
       finally
       FindClose (sr);
  end;
 end;
end;
so funtioniert es aber nicht. es wird zwar compiliert, hängt aber dann bei aktivierung der procedure in einer endlosschleife...

greg
  Mit Zitat antworten Zitat