Einzelnen Beitrag anzeigen

NineBerry

Registriert seit: 7. Nov 2008
Ort: Karlsruhe
8 Beiträge
 
#2

Re: TSearchRec bei Dateien/Ordner mit Unicode-Namen

  Alt 8. Nov 2008, 00:54
Hallo

Eine praktische Lösung besteht darin, statt MySearchRec.Name auf MySearchRec.FindData.cAlternateFileName zuzugreifen. Dies liefert dir den 8.3 (Dos-kompatiblen) Dateinamen. Dieser enthält garantiert nur ANSI-Zeichen.

Wenn du den Dateinamen nicht nur intern verwenden, sondern auch anzeigen möchtest, musst du größere Geschütze auffahren. Das Problem ist, dass ein Delphi string (vor Delphi 2009) nun mal eben nur Ansi-Zeichen und keine Unicode-Zeichen speichern kann.

Du musst also von Hand die WinAPI-Funktion FindNextFileW() aufrufen und von dort aus den Dateinamen durchgängig in Variablen vom Typ WideString verarbeiten (statt string).

(Oder auf Delphi 2009 umsteigen )

Neun
  Mit Zitat antworten Zitat