Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi widestring (https://www.delphipraxis.net/68227-widestring.html)

Ydobon 29. Apr 2006 09:47

Re: widestring
 
UCS4 ist doch nicht unbedingt eine neuere Variante und große Zukunftsaussichten hat es auch nicht, dazu ist die Speicherverschwendung selbst bei CJK(V) Texten einfach viel zu riesig.
Delphi kennt aber trotzdem z.B. die Typen UCS4Char = type LongWord; und UCS4String = array of UCS4Char;

Es dürften aber nur wenige Gelegenheiten existieren, wo man dies brauchen könnte, da man in Windows (ab 2000?) die Unterstützung für Surrogate Code Pairs (2 x 2 Byte) aktivieren kann und damit in Windows also auch in Delphi mit WideStrings den kompletten Unicodebereich zur Verfügung hat.

Für nicht Unicodeprogramme in anderen Sprachen kann man ab Win2k einstellen, dass Windows unabhängig von der eigenen Sprachversion diese Sprachen unterstützen soll. Mit AppLocale wird es auch noch etwas bequemer. So bekommt man dann chinesische oder japanische Programme mit deutschem Windows zum Laufen.

Eine interessante Frage wäre, ob sich die Delphiquelltexte mit Microsoft Layer for Unicode etwas aufmöbeln lassen würden, so dass man auch mit Delphi Unicodeprogramme für Win < 2000 schreiben könnte.

himitsu 29. Apr 2006 10:35

Re: widestring
 
Zitat:

Zitat von Ydobon
UCS4 ist doch nicht unbedingt eine neuere Variante und große Zukunftsaussichten hat es auch nicht, dazu ist die Speicherverschwendung selbst bei CJK(V) Texten einfach viel zu riesig.
Delphi kennt aber trotzdem z.B. die Typen UCS4Char = type LongWord; und UCS4String = array of UCS4Char;

Also solche Typen sind bereits definiert, auch wenn sie bei mir etwas anders heißen :roll:

Auch wenn ich im Moment noch keinen Gerbrauch davon machen ... na ja, wenigstens ist für die Stringverarbeitung schon "alles" vorhanten (bei mir), also angefangen mit SetLength/Length, über Copy und was man sonst noch so brauchen könnte ^^

Und soviel Wichtiges ist in UCS4 ja wirklich nicht drin, außer ein paar Zeichen, die in UCS2 keinen Platz mehr hatten und halt ein paar Zeichen in verschiedenen Schriftarten (Fett/Kursiv/Alt...)

Ydobon 29. Apr 2006 11:16

Re: widestring
 
:?: Mit Unicode werden nur die Codepunkte für die Zeichen definiert, wie sie dann dargestellt werden (fett usw.) ist eine andere Geschichte.
Unicode wurde auf etwas mehr als 1 Mio Codepunkte beschränkt, diese lassen sich auch mit UCS2 bzw. UTF-16 durch diesen Surrogate Spaß darstellen, von dort stammt ja die Begrenzung. Einen richtigen Grund immer mit 4 Byte zu arbeiten gibt es daher eigentlich nicht.

Bernhard Geyer 29. Apr 2006 19:54

Re: widestring
 
Zitat:

Zitat von Ydobon
Eine interessante Frage wäre, ob sich die Delphiquelltexte mit Microsoft Layer for Unicode etwas aufmöbeln lassen würden, so dass man auch mit Delphi Unicodeprogramme für Win < 2000 schreiben könnte.

Vergis den Microsoft Layer for Unicode. Unter Win9x/ME ruft er eh nur die ANSI-Versionen der API-Funktionen auf da die Widestring-Versionen nur Dummies sind. Nur mit dem ElPack kannst Du mit Delphi auch unter Win9x/ME Unicode unterstützen. Mehr als selbst .NET dir bieten kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.
Seite 2 von 2     12   

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