Einzelnen Beitrag anzeigen

ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

Problem beim Dateiensuchen -> Unicode + Gesperrte Ordner

  Alt 11. Mai 2007, 23:02
Ich führe ein Dateilisting mit folgender Methode durch.
Leider habe ich auf meiner Festplatte ein paar Dateien und ORDNER, deren Dateiname oder Ordnername
Unicode (Japanische Schriftzeichen) enthält. Das Listing versucht den Ordner zu öffnen, öffnet sich aber immer wieder
selbst (rekursiv..) und fährt sich dort fest.

Das gleiche passiert mit einem Systemordner, der ebenfalls "für den Publikumsverkehr geschlossen" ist.^^

Wie kann ich diese Fehler abfangen? Gibt es eine Funktion die Unicode erkennt? Und eine die blöde
nicht öffnen-bare Ordner erkennt?

Funktion (Ausschnitt):
Delphi-Quellcode:
if FindFirst('*', faAnyFile, searchResult) = 0 then
  begin
    repeat
      Application.ProcessMessages;
      SetLength(ergebnisse, (Length(ergebnisse)+1));

      if ((searchResult.Attr and faDirectory) = faDirectory) then begin
         ergebnisse[i].is_directory := true;
         ergebnisse[i].name := searchResult.Name;
         ergebnisse[i].size := 0;
      end
      else begin
         ergebnisse[i].is_directory := false;
         ergebnisse[i].name := searchResult.Name;
         ergebnisse[i].size := searchResult.Size;
      end;
      Application.ProcessMessages;
      Inc(i);
    until FindNext(searchResult) <> 0;

    FindClose(searchResult);
end;
Edit: ich weiß, die Rekusivität is hier nicht zu sehen, aber hier in der if müsste etwas hin was diese blöden Sachen abfängt.
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat