Thema: Delphi Ordnerinhalt auslesen

Einzelnen Beitrag anzeigen

Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Ordnerinhalt auslesen

  Alt 1. Nov 2008, 13:35
Jetzt muss ich doch noch einmal melden. Ich habe mir das Beispiel hier
Delphi-Quellcode:
procedure FindAllFiles(const FileList: tstrings;RootFolder: string; Maske: array of string; Recurse: Boolean = True);
var
  SR: TSearchRec;
  i : integer;
begin
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            // der Verzeichnisname steht in SR.Name
            // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            // RootFolder + SR.Name
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(FileList, RootFolder + SR.Name, Maske, Recurse);
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  i := 0;
  repeat
    begin
      if FindFirst(RootFolder + '*' + Maske[i], faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory <> faDirectory then
          begin
            // --> eine Datei wurde gefunden
            // der Dateiname steht in SR.Name
            // der vollständige Dateiname (inkl. Pfadangabe) ist
            // RootFolder + SR.Name
            FileList.Add(RootFolder + SR.Name);
          end;
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
      i := i + 1;
    end
  until
    i = high(maske) + 1;
end;
angeschaut.
Da müsste ich ja in der ButtonClick-Procedure FindAllFiles([Hier muss ja eine Stringlist mitgegeben werden oder?],[Verzeichnis ist klar],[Eine Maske muss her],True) aufrufen.

Wenn ich das so mache, bekomme ich aber eine fehlermeldung, das eine ungültige Pointeroperation vorhanden ist. Die meldung bekomme ich erst bei laufender exe. wenn ich die exe ohne delphi starte bkomme ich auch nur diese meldung. woran liegt das?



[EDIT]
Hab nach einigem Probieren meine Hänger selbst gelöst. Also trotzdem Danke für die Hilfe.
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat