Einzelnen Beitrag anzeigen

seppi.tm

Registriert seit: 3. Jul 2007
44 Beiträge
 
#1

probleme mit FindallFiles...

  Alt 5. Feb 2010, 14:07
Hallo,
ich habe mir diese funktion gekrallt(bisschen gemodded (Provisorisch)):
Delphi-Quellcode:

function FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean
  = True): TStringDynArray;
var
  wfd : TWin32FindData;
  hFile : THandle;
begin
  if AnsiLastChar(RootFolder)^ <> '\then
    RootFolder := RootFolder + '\';
  if Recurse then
  begin
    hFile := FindFirstFile(PChar(RootFolder + '*.*'), wfd);
    if hFile <> INVALID_HANDLE_VALUE then
    try
      repeat
        if wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY =
          FILE_ATTRIBUTE_DIRECTORY then
          if (string(wfd.cFileName) <> '.') and (string(wfd.cFileName) <> '..')
            then
            FindAllFiles(RootFolder + wfd.cFileName, Mask, Recurse);
      until FindNextFile(hFile, wfd) = False;
    finally
      windows.FindClose(hFile);
    end;
  end;
  hFile := FindFirstFile(PChar(RootFolder + '*.*'), wfd);
  if hFile <> INVALID_HANDLE_VALUE then
  try
    repeat
      if wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY <>
        FILE_ATTRIBUTE_DIRECTORY then
      begin
        FileCount := length(Files)+1;
        Setlength(Files, FileCount);
        Files[FileCount - 1] := RootFolder + String(wfd.cFileName) + #09#09#09#09#09 + inttostr(GetFileSize(RootFolder + String(wfd.cFileName)));
      end
      else begin
       FileCount := length(Files)+1;
        Setlength(Files, FileCount);
        Files[FileCount - 1] := RootFolder + String(wfd.cFileName) + #09#09#09#09#09 +'FOLDER';
      end;
    until FindNextFile(hFile, wfd) = False;
  finally
    Windows.FindClose(hFile);
  end;
end;
so, das geht alles eig. wunderbar doch wenn ich auf einen ordner innerhalb von C:\Dokumente und Einstellungen oder auf einer anderen Partition zugreifen will gibt mir die funktion nichts zurück... wieso?

ich benutze windows XD sp2 und rufe diese funktion in einer dll auf.
  Mit Zitat antworten Zitat