Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windows 98 & Unicode (https://www.delphipraxis.net/54200-windows-98-unicode.html)

bioser 29. Sep 2005 15:31


Windows 98 & Unicode
 
Hallo, ich habe nochmal einen neuen Thread aufgemacht und bin
soweit gekommen, daß ich über API Zeichen ausgeben kann.
Nun habe ich das Problem, daß Windows 98 nur UTF-8 unterstützt,
vorausgesetzt, der MSLU ist installiert. Richtig ?
Ich möchte aber zumindest einige gebräuchliche russische Zeichen darstellen.
Bin mir nicht sicher, aber wenn man den Deutschen Windows-Zeichensatz
als Standard eingestellt hat, dann kann man auch keine anderen
andersartige Schriftzeichen in Delphi darstellen oder liege ich
da falsch ? Bei XP ist alles drauf, meine ich. Darum klappt es auch
unter XP. Kann mir jemand behilflich sein ? DANKE !

mael 29. Sep 2005 17:11

Re: Windows 98 & Unicode
 
Windows 9x/NT verwenden UTF-16 nicht UTF-8.

Auch Windows 9x bietet Unicode an, aber nur sehr beschränkt. MSLU konvertiert im Grunde alle Unicode-Eingaben in ANSI/Multibyte-Zeichen. Es lößt aber z.B. nicht die Probleme mit mehrsprachigem Text: Chinesisch und Deutsch kann man z.B. nicht in einem TEdit nebeneinander stehen haben.
TntWare Delphi Unicode Controls sind für Delphi besser geeignet als MSLU. Sie bieten die meisten Controls der VCL als Unicode Version an.

Eigene Controls kann man aber sogar echten Unicode Text darstellen lassen (sowohl unter 9x als auch NT), wenn man die WinAPI ExtTextOutW verwendet.

Bei der MSDN gibt es eine Liste von Funktionen die Unicode auch unter Windows 9x unterstützen.

Bernhard Geyer 30. Sep 2005 07:31

Re: Windows 98 & Unicode
 
Zitat:

Zitat von bioser
Hallo, ich habe nochmal einen neuen Thread aufgemacht und bin
soweit gekommen, daß ich über API Zeichen ausgeben kann.
Nun habe ich das Problem, daß Windows 98 nur UTF-8 unterstützt,
vorausgesetzt, der MSLU ist installiert. Richtig ?

Nein. In MSLU werden die Wide-Versionen von WinAPi-Funktionen in den MSLU-DLL's nachgerüstest und diese greifen auf die Wide-Versionen unter NT,2000,.. zu und unter Win9x/ME werden die ANSI-Versionen aufgerufen. Also nichts mit Unicode/UTF8.

Zitat:

Zitat von bioser
Ich möchte aber zumindest einige gebräuchliche russische Zeichen darstellen.
Bin mir nicht sicher, aber wenn man den Deutschen Windows-Zeichensatz
als Standard eingestellt hat, dann kann man auch keine anderen
andersartige Schriftzeichen in Delphi darstellen oder liege ich
da falsch ? Bei XP ist alles drauf, meine ich. Darum klappt es auch
unter XP. Kann mir jemand behilflich sein ? DANKE !

Man könnte mittels Codepages/Charsets auch mit normalen Delphi-Controls teilweise auch "codepage-fremde" Zeichen darstellen aber dies Funktioniert nicht mit allen Controls und nicht mit allen Zeichen. Die einzige Vernünftige Lösung ist die Verwendung von Unicode. Und wenn du auch Win9x/ME unterstützen willst ist die einzige Lösung das ElPack


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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