![]() |
GetDisplayNameOf und Sonderzeichenproblem
Hallo,
ich ermittel mit folgenden Code den Displaynamen eines Objektes:
Code:
Ausgeben lass ich den Namen mit folgenden Code:
Res := Folder.GetDisplayNameOf(Pidl, Flags, StrRet);
Code:
Obiger Code ist auf die relevanten Teile beschränkt worden und funktioniert soweit ganz gut.
Memo1.Lines.Add(StrRet.pOleStr);
Anders sieht es allerdings aus, wenn zum Beispiel der Name der Textdatei mit dem Namen "ěščřžůň.txt" ermittelt werden soll. "StrRet.pOleStr" liefert dann "ešcržun.txt" zurück, wobei š und ž ein schwarzer Balken im Memo ist. Wie kann ich mit GetDisplayNameOf auch Dateien mit Sonderzeichen ermitteln? MfG Hitzi [EDIT] Bei Abschicken des Post ist mir der Explorer abgeschmiert. Sollte das mit den Zeichen zusammenhängen? |
Re: GetDisplayNameOf und Sonderzeichenproblem
Sollten das Unicode zeichen sein, wirst du sie in einem normalen Memo nie dargestellt bekommen, das die VCL Komponenten kein Unicode unterstützen.
|
Re: GetDisplayNameOf und Sonderzeichenproblem
Danke für den Hinweis Luckie. Gibt es einen Weg diese Unicode zeichen so umzuwandeln, dass das korrekte Zeichen angezeigt wird?
Hitzi |
Re: GetDisplayNameOf und Sonderzeichenproblem
Zitat:
![]() ...:cat:... |
Re: GetDisplayNameOf und Sonderzeichenproblem
Für Unicode und Oberflächencontrols hast Du bei Delphi nur 2 Möglichkeiten:
![]() ![]() TNT-Controls sind kostenlos, jedoch sind die Elpack-Controls Enhanced-Controls. Für einen Einstieg in Delphi+Unicode kannst Du auch meinen Artikel ![]() |
Re: GetDisplayNameOf und Sonderzeichenproblem
Danke für eure Antworten.
Ein Control muss es nicht unbedingt sein. Ich möchte nur, dass der Dateiname so ermittelt wird, dass ich diese Datei später öffnen kann (mit assignfile, reset). Gibt es keine einfache Umwandlung eines Unicode Strings in einen normalen String? Thomas |
Re: GetDisplayNameOf und Sonderzeichenproblem
Zitat:
Zitat:
In Fällen in denen du mit Unicode-Zeichen arbeiten mußt, jedoch z.B. für Transfers mit Ansi-String arbeiten mußt, kannst Du eine konvertierung in UTF-8 vornehmen. |
Re: GetDisplayNameOf und Sonderzeichenproblem
Guten Morgen :)
Dann gibt es eben für das laufende Projekt kein Unicode Support :roll: Den hätte ich nur noch hinzugefügt, wenn's relativ unkompliziert funktioniert hätte. Kann Assignfile, ... eigentlich mit UTF8 umgehen? Wird Delphi 9 Unicode unterstützen? [EDIT] Wie ist das eigentlich, wenn das Programm auf einem System mit einer anderen Codepage läuft? Bei dem Textbeispiel von oben läufts auf einem Rechner mit der Codepage 1250 (tschechisch). Dann müsste es doch die Zeichen automatisch verwenden, wie bei uns das ÖÄÜ, oder? |
Re: GetDisplayNameOf und Sonderzeichenproblem
Zitat:
Zitat:
Zitat:
Zitat:
![]() |
Re: GetDisplayNameOf und Sonderzeichenproblem
Danke für die Infos. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 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-2025 by Thomas Breitkreuz