Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Dateien und Ordner mit Unicode-Namen auflisten


Ares - Fr 31.10.08 14:17
Titel: Dateien und Ordner mit Unicode-Namen auflisten
Hallo!

Ich brauche für ein Programm Funktionen die mir eine Liste aller Unterordner oder aller Dateien in einem Verzeichnis liefern. Das ist mit TSearchRec und FindNext() ja kein Problem. Nun wir das Programm aber auf Rechnern eingesetzt bei den viele Ordner und Dateinamen Unicode Zeichen enthalten und hier stößt TSearchRec anscheinend an seine Grenzen.

Hab ich z.B. einen Ordner "Προγράμματα Διαφήμισης" liefert mir TSearchRec den Namen "'??????µµata ??af?µ?s??'". Versuche ich dann diesen Ordner zu öffnen erhalte ich natürlich die Meldung, dass kein Ordner mit diesem Namen existiert...

Ich verwende Delphi 2007, gibt es hier irgendeine Möglichkeit Datei- und Ordnernamen in Unicode zu ermitteln?

Kann ich Unicode-Namen überhaupt in einem String speichern? Oder brauche ich hierfür schon Delphi 2009 mit seiner verbesserten Unicode-Unterstützung?

Besten Dank!
Ares


Gausi - Fr 31.10.08 14:22

In einen String bekommst du das nicht, wohl aber in einen WideString. Die ganzen Komponenten der VCL sind erst ab Delphi 2009 Unicode-fähig. Für frühere Versionen muss man da auf Drittkomponenten ausweichen, wie z.B. die TNT Unicode Controls. Sind jetzt bei TMS und kostenpflichtig, die älteren freien Versionen von TNT findet man aber auch noch im Netz. Da sind dann auch Routinen wie WideFindFirst etc. dabei.


Ares - Fr 31.10.08 14:29

Wie sieht es denn mit dem TSeachRec aus? Kann mir jemand sagen, ob der unter Delphi 2009 auch Unicode fähig ist?