Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unicode wird falsch dargestellt (https://www.delphipraxis.net/35322-unicode-wird-falsch-dargestellt.html)

Savar 5. Dez 2004 15:47


Unicode wird falsch dargestellt
 
Das Unicode-Zeichen $015C sollte eigentlich ein S mit Zirkumflex sein. Angezeigt wird allerdings immer nur ein normales S. Wer kann mir helfen?

Neutral General 5. Dez 2004 15:50

Re: Unicode wird falsch dargestellt
 
Das kommt auf den Editor an in den du das schreibst. Manche Editoren unterstützen kein Unicode und da wird eben was andres angezeigt.

Savar 5. Dez 2004 17:11

Re: Unicode wird falsch dargestellt
 
Folgende Programmzeile:

Form1.Label1.Caption:=WideChar($015C);

Wenn ich das kompiliere, müsste im Label1 ein S mit Zirkumflex stehen, tut es aber nicht. Wieso?

mirage228 5. Dez 2004 17:21

Re: Unicode wird falsch dargestellt
 
Hi,

die VCL und somit das Label unterstützt kein Unicode und kann daher keine Unicode zeichen anzeigen.

Such mal nach den Hier im Forum suchenTNT Controls oder nach dem Hier im Forum suchenEl Pack - Diese bieten Unicode für Delphi.

mfG
mirage228

Savar 5. Dez 2004 17:26

Re: Unicode wird falsch dargestellt
 
Danke für die Antwort. Was ist mit der Caption einer Form, kann man dort keinen Unicode verwenden?

mirage228 5. Dez 2004 17:38

Re: Unicode wird falsch dargestellt
 
Zitat:

Zitat von Savar
Danke für die Antwort. Was ist mit der Caption einer Form, kann man dort keinen Unicode verwenden?

Nein, leider auch nicht :?

mfG
mirage228

Savar 5. Dez 2004 17:47

Re: Unicode wird falsch dargestellt
 
Gibt es überhaupt eine Möglichkeit Zeichen außerhalb der ASCII-Tabelle im Titel eines Fensters zu verwenden?

mirage228 5. Dez 2004 17:50

Re: Unicode wird falsch dargestellt
 
Hi,

probiere es mal mit SetWindowTextW

mfG
mirage228

Assarbad 5. Dez 2004 17:51

Re: Unicode wird falsch dargestellt
 
Zitat:

Zitat von mirage228
Nein, leider auch nicht :?

Es muß heißen: leider nicht mit der VCL.

Das Problem ist, daß eigentlich auf der NT-Plattform Unicode schneller ist (ANSI wird extra konvertiert) und deshalb vorzuziehen wäre. Da aber die Fenster mit einem Flag (IMO nicht änderbar solange das Fenster existiert) bei der Erstellung anzeigen ob sie Unicode sind oder nicht, nimmt die Win32 API die Konvertierungen selber vor. Theoretisch könnte es also passieren, daß selbst bei Verwendung von SetWindowTextW() kein Unicode-Text zu sehen ist.

Meist passieren eigenartige Sachen bei der Konvertierung. So wird, wenn man Gamma auf Griechisch schreibt plötzlich Gaµµa (also 1., 2. und 5. Buchstabe lateinisch, der Rest griechisch) in der ANSI-Version angezeigt. Da kannst du aber nix machen, weil das alles intern abläuft.

Nachtrag: ... im Titel könnte es klappen. Aber sicher ist das nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.

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