Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Sonderzeichen in Dateinamen (https://www.delphipraxis.net/80324-sonderzeichen-dateinamen.html)

user0 7. Nov 2006 12:08


Sonderzeichen in Dateinamen
 
Hallo Delphiprogrammierer,

ich möchte mit meinem Programm eine Datei öffnen, deren Dateiname ein "c" mit einem umgedrehten Dach darüber enthält (č).
Der Windows Explorer zeigt den Dateinamen korrekt an. Auch der Öffnen-Dialog meines Programmes hat keine Probleme damit.
Wenn man jedoch den Dateinamen von diesem Dialog abfragt, wird aus dem "c mit Dach" ein normales "c" und die Datei kann nicht
gefunden werden.
Nimmt man das "c mit Dach" aus dem Dateinamen in die Zwischenablage und kopiert sie in ein Editfeld, so wird dauaus ein Fragezeichen.
Kopiert man es in eine TRichEdit-Box wird es richtig dargestellt. Wenn man aber das CharSet der Font z.B. auf ANSI_CHARSET ändert,
wird aus dem "c mit Dach" ein dicker senkrechter Strich.
Stellt man das CharSet wieder auf z.B. EASTEUROPE_CHARSET wird das "c mit Dach" wieder richtig dargestellt.

Wie kann ich den Dateinamen so übernemen, dass die Datei geöffnet werden kann?
Oder: Wie kann ich den Dateinamen einer Datei ändern, auf die ich aufgrund des Dateinamens nicht zugreifen kann? :gruebel:

Vielen Dank im Voraus,

user0

freak4fun 7. Nov 2006 12:35

Re: Sonderzeichen in Dateinamen
 
Ich glaub "Unicode" ist da das Zauberwort. ;)

MfG
freak

himitsu 7. Nov 2006 12:52

Re: Sonderzeichen in Dateinamen
 
Oder einfach mit den kurzen Dateinamen (8.3) arbeiten, dann kannst du auch beim Ansi bleiben und die Standard-Funktionen von Delphi nutzen (Delphi ist ja zu großen Teilen nicht unicodefähig).


PS: FindFirst/-Next gibt dir beide Namen ... wenn du da imer nur den Alternativen verwendest, hast du keine Probleme.

Bernhard Geyer 7. Nov 2006 13:48

Re: Sonderzeichen in Dateinamen
 
TNTWare, ElPack und TRichView könnten deine Freunde werden.

Die fehlende Unicode-Unterstützung ist (bei aktuellen) Delphi-Versionen "nur" noch in den von Borland gelieferten VCL-Komponenten vorhanden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz