hilpers


  hilpers > comp.lang.* > comp.lang.delphi.non-tech > 09/2003

 #1  
12.09.2003, 08:25
Engel,Peter
Hallo,

wahrscheinlich schlittere ich langsam in die Alsheimer (oder hies es
Okersheimer)

Ich habe mir die TNT Unicode-Komponenten herutnergeladen und bastele
gerade damit.
Das Demo Programm zeigt eigentlich keine erkennbare Funktion und eine
Hilfe / Doku ist wohl auch nicht dabei.
Kann mir wer auf die Sprünge helfen, wie ich bei diesen Komponenten
Sprache oder Zeichensatz umstellen kann.
Also z.B. 2 Label eines zeigt Europäischen Schriftsatz und ein anderes
einen asiatischen an.
Für einen Starttip wäre ich sehr dankbar.


Gruß

Peter
 #2  
12.09.2003, 09:29
Mike Lischke
Engel,Peter wrote:

> Kann mir wer auf die Sprünge helfen, wie ich bei diesen Komponenten
> Sprache oder Zeichensatz umstellen kann.


Das ist doch gerade der Kick, du brauchst so etwas, wie Sprache umstellen, nicht mehr. Auf einem NT System (4.0. 2K, XP und besser) kannst du alle unterstützten Sprachen gleichzeitig anzeigen wenn du willst. Auf Win9x/Me funktionieren die TnT Controls aber nicht!

Mike
 #3  
13.09.2003, 09:39
Mike Lischke
Engel,Peter wrote:

> Ist mir ja klar, aber ich schnalle noch nicht, wie ich die
> unterschiedlichen Sprachen dort rein bekomme.
> Gibt es sowas wie einen Editor ?


Du musst zunächst verstehen, was Unicode ist. Es handelt sich dabei um ein Kodierungssystem zur Zuordnung von Zeichen (characters) zu Kodepunkten (code points). Das Gleiche machen im Prinzip auch die Codepages, wie sie in DOS selig, Windows, Unix, Mac OS usw. verwendet wurden/werden. Der große Unterschied ist jedoch, dass eine Codepage nur einen begrenzten Zeichenvorrat hat (256, weil mit einem Byte kodiert), während Unicode mit größeren Einheiten arbeitet. In Windows wird z.B. UTF-16 verwendet, wo der Name schon auf die Elementgröße hinweist: 16 Bit werden pro Zeichen zur Kodierung verwendet. Das bedeutet, man kann mit diesem System zunächst einmal bis zu 64K Zeichen kodieren. Genug, um alle lebenden und viele toten Sprachen aufzunehmen.

Das ist natürlich erst einmal eine Lüge-für-Kinder, wie die Information, dass sich Elektronen als kleine Kugeln in Kreisbahnen um den Atomkern bewegen. wo es doch eigentlich Orbitale mit Aufenthaltswahrscheinlichkeiten sind. Aber es geht in meiner Erklärung auch zunächst um das Grundverständnis. Die vielen Details (nicht verwendete code points, surrogates, private use area usw) erschließen sich sowieso erst später.

Wichtig zu wissen ist aber noch, dass Delphi Unicode nur sehr mäßig unterstützt. Wenigstens gibt es den Datentyp Widestring, der UTF-16 Strings aufnehmen kann. Allerdings gibt es keine mitgelieferten Controls, die solche Strings aufnehmen und anzeigen, wie auch zurückliefern können. Der Grund liegt in der kaum vorhandenen Unicode Unterstützung in Windows 98/Me. An dieser Stelle kommen dann third-party controls ins Spiel, die diesen Part übernehmen. Die TNT controls von Troy machen eigentlich nichts anderes, als (ziemlich trickreich) die normalen Delphi Controls so aufzubohren, dass sie auf NT Systemen Unicode Fenster verwenden. Das hat einige Konsequenzen für Standardcontrols wie TEdit. Man kann dann dort mittels Tastatur übliche Zeichen eingeben (je nach installierter Sprache kann man die Tastenbelegung pro Fenster umschalten) oder man verwendet Eingabeemulatoren, die als IME (input method editor) bezeichnet werden. Diese bieten gerade für Sprachen mit hoher Zeichenzahl (z.B. Chinesisch) oder die ein komplexes Shaping benötigen (z.B. Arabisch) spezielle Tools an, um Unicode Text eingeben zu können.

Dennoch gibt es für Delphi einige third-party controls, die Unicode verarbeiten können. Z.B. mein Virtual Treeview ist ein solches Control. Als Editor empfiehlt sich TRichView (www.trichview.com) und als Komplettlösung das ElPack (hab' die Adresse nicht -> Google bemühen).


> Sorry aber das sind meine ersten Schritte mit Unicode.


Dann solltest du vielleicht erst ein wenig lesen. Bester Anlaufpunkt ist www.unicode.org, ein weiterer: [url down].

Mike
 #4  
16.09.2003, 08:04
Lars Dybdahl
Engel,Peter wrote:
> Ist mir ja klar, aber ich schnalle noch nicht, wie ich die
> unterschiedlichen Sprachen dort rein bekomme.
> Gibt es sowas wie einen Editor ?


Du kannst einfach Zeichen vom Windows character map hereinpasten.

Bitte beachte, daß die Komponente nur auf Windows NT/2000/XP sinn haben -
auf Windows 95/98/Me kannst du kein unicode mit Tnt komponente machen.

Lars.
Ähnliche Themen
Delphi 2009 + MySQL + Unicode

Liebe NG, habe folgendes Problem: Bin dabei ein einfaches Tool zu schreiben das Daten aus 2 Datenbanken ausliest und nebenanander darstellt. Die Datenbanken sind in polnisch...

Delphi 2009 - Unicode - Schriftart im Formular

Hallo Ich hab hier jetzt die schicke neue Delphi 2009 - Trial. Wenn man da eine Komponente auf ein Formular zieht, verwendet die als Schriftart immer "System", was nun...

unicode controls

Hallo! Wer sich mit z.B. Rick Strahl's Artikeln über Unicode auseinandergesetzt hat, sollte wissen, daß die MS Forms 2.0 ActiveX (fm20.dll) Controls in der Lage sind...

Unicode-Zeichen (wegen Akzenten) in den VB-Controls

Hallo zusammen, wer weiß, wie ich Unicode in die Controls bekomme? Sonst kriege ich keine besonderen Akzente wie ? ? ? ? und ñ hin. Außerdem soll Kyrillisch...

Delphi 5 Projekt auf Unicode umstellen.

Hallo Ich soll ein Delphi 5 Projekt, das schon seit Jahren existiert, auf Unicode umstellen. Es sollen aber nicht nur die internen Abläufe, sonder auch alle graphischen...


Alle Zeitangaben in WEZ. Es ist jetzt 06:00 Uhr. | Privacy Policy