Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DateiAttribute aus ListBox auslesen

  Alt 17. Sep 2003, 18:51
Moin Gregor,

ich hab' Deine Methode Suche mal überarbeitet und kommentiert


Delphi-Quellcode:
procedure TForm1.Suche (ext: string; pfad: String);
var sr: TSearchRec;
    r: Integer;

begin
  r:= FindFirst( pfad + '\*.*', faAnyFile,sr);
  if r = 0 then begin // nur wenn FindFirst erfolgreich war, gibt's auch was zu schliessen
    try // Resourcenschutzblock eingebaut
      while r = 0 do
      begin
        // falsch, da ein Datei-/Verzeichnisname auch mit . beginnen kann
        // es muss explizit auf . und .. geprüft werden
// If Copy(sr.Name, 1, 1) <> '.' then
      if (sr.Name <> '.') and (sr.Name <> '..') then
      begin
        // gefundenes Attribut ausmaskieren und mit gewünschtem vergleichen
        if (sr.Attr and faDirectory) = faDirectory then
// If (sr.Attr <> 0) and (faDirectory <> 0) then
          begin
        Suche(ext, Edit2.Text + '\' + sr.Name);
        ListBox2.Items.Add(pfad + '\' + sr.Name);
        end
        else
        if AnsiUpperCase(ExtractFileExt(sr.Name)) = '.'+AnsiUpperCase(ext) then
       // If System.Copy (sr.Name, Pos('.' , sr.Name), 4) = '.' + ext then
        ListBox1.Items.Add(pfad + '\' + sr.Name);
      end;
      Application.ProcessMessages;
      r:= FindNext(sr);
      end;
    finally
      FindClose(sr);
    end;
  end;
end;
das mit dem str3 hab' ich nicht verstanden.
Extensions können beliebig lang sein.
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