Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Japanische Version von Delphi 7 kaufen (https://www.delphipraxis.net/71124-japanische-version-von-delphi-7-kaufen.html)

himitsu 13. Jun 2006 09:19

Re: Japanische Version von Delphi 7 kaufen
 
Zitat:

Zitat von gore
Wenn die VCL Unicode-Fähig ist, dann kann ich also die caption Eigenschaft von TButton, TLabel usw mit einem WideString setzen?

So einfach geht das nun auch nicht, da Capption doch als AnsiString definiert ist, es also erst nach Ansi und dann wieder zurück konvertiert würde (dabei gehen natürlich die meisten Unicodeinformationen verloren).


Du müßtest also Caption umgehen und praktisch dort einsteigen, wo der String wieder Unicodemäßig gehandelt wird.

Bernhard Geyer 13. Jun 2006 09:33

Re: Japanische Version von Delphi 7 kaufen
 
Zitat:

Zitat von gore
Danke für Eure Antworten.
Wenn die VCL Unicode-Fähig ist, dann kann ich also die caption Eigenschaft von TButton, TLabel usw mit einem WideString setzen?

Da TButton ein Borland-Wrapper um die Ansi-Version des Win32-Buttons ist geht das nicht. Auch nicht das Umschiffen. Auch ist das Caption-Property hier nur Ansi.

Wenn Du Code-Mäßig auf einem japanischen System einem Caption einen japanischen Widestring übergibst wird dieser vor der Zuweisung mit der Japanischen Codepage in einen Ansi-String umgewandelt und es würde gehen. Machst du das gleiche auf einem deutschen System wird dieser String mit unserer Codepage umgewandelt und du erhälst lauter Fragezeichen.

Hast Du bei deinen Control irgendwas an dem Property Font.Charset geändert? Falls hier nicht mehr DEFAULT_CHARSET steht geht eh alles falsch und du mußt dich mit Codepages/Charsets herumärgern.

Ich kann dir nur dringend raten dein Programm auf Unicode-Controls wie ElPack oder TNT umzustellen. Wird zwar ein paar Tage-Monate je nach Programmkomplezität dauern aber mit Ansi-Controls sowas zu machen ist m.E. vergeutete Zeit.

himitsu 13. Jun 2006 09:48

Re: Japanische Version von Delphi 7 kaufen
 
Zitat:

Zitat von Bernhard Geyer
Da TButton ein Borland-Wrapper um die Ansi-Version des Win32-Buttons ist geht das nicht. Auch nicht das Umschiffen. Auch ist das Caption-Property hier nur Ansi.

Über das Handle des Win32-Buttons kann man sich auch direkt an Windows wenden und über die Wide-API-Funktionen die Caption direkt setzen.

Aber mal ehrlich, dann kann man ja och gleich ganz auf NonVCL umsteigen.

Ydobon 14. Jun 2006 11:11

Re: Japanische Version von Delphi 7 kaufen
 
Das bringt ebenfalls nichts, da Delphi nur Ansi-Komponenten erzeugt, das W bei CreateWindowsEx fehlt. Damit sind auch die
entsprechenden Windows-Fenster nicht unicodefähig -> IsWindowUnicode(Button1.Handle)=false und SetWindowTextW bringt genauso nur
Fragezeichen.

Wenn man das System auf Quasi-Japanisch einstellt, kann man mit Delphi einigermaßen japanische Anwendungen schreiben, Applocale
wird da aber nicht ausreichen, da nicht nur der Delphi Exe Japanisch vorgegaukelt werden muss. Man könnte es aber vermutlich zum Testen verwenden. Intern ist Codepage 932 in etwa Shift-JIS, daher wird das dann mit den Menüs geklappt haben.

Am Sinnvollsten ist es allerdings in jedem Fall unicodefähige Komponenten zu verwenden.

himitsu 14. Jun 2006 11:31

Re: Japanische Version von Delphi 7 kaufen
 
Hmm, ich dachte die Ansi-APIs werden dann intern auf die Wide-Versionen umgeleitet, so daß dann dennoch alles Unicode ist ... muß es eigentlich, denn ich konnte schon Unicode in ein TEdit kopieren (Strg+V), auch wenn es dann nur als ANSI wieder ausgelesen wurde.

Ydobon 14. Jun 2006 16:33

Re: Japanische Version von Delphi 7 kaufen
 
Weißt du noch, wie du es geschafft hattest? Eigentlich sollte sich ein TEdit nur für den Text in der Zwischenablage interessieren und den Unicode Teil ignorieren.

Für die entsprechenden Funktionen gibt es doch eigentlich in den Bibliotheken jeweils eine Ansi und eine Unicode Version, mit unterschiedlichen Adressen, dann sollten sie auch getrennt implementiert sein.

Bernhard Geyer 14. Jun 2006 20:00

Re: Japanische Version von Delphi 7 kaufen
 
Zitat:

Zitat von himitsu
Hmm, ich dachte die Ansi-APIs werden dann intern auf die Wide-Versionen umgeleitet, so daß dann dennoch alles Unicode ist ... muß es eigentlich, denn ich konnte schon Unicode in ein TEdit kopieren (Strg+V), auch wenn es dann nur als ANSI wieder ausgelesen wurde.

Evtl ist ganz im Hintergrund eine Unicode-Control. Aber es werden zu viele "Prüfstellen" eingebaut sind die Verhindern das du damit vernünftig arbeiten kannst wenn es als ANSI-Control "angefordert" wurde.

Amnon82 24. Jun 2006 00:30

Re: Japanische Version von Delphi 7 kaufen
 
Falls es hilft: D6PE JAPANESE

Phoenix 24. Jun 2006 14:48

Re: Japanische Version von Delphi 7 kaufen
 
Andere Sache... auch wenn's ned ganz billig ist: Multilizer ( http://multilizer.com/ ).

Damit kannst Du jede Anwendung, auch wenn sie nicht wirklich auf Multilanguage ausgelegt ist, gut Übersetzen. Und noch besser: Bei Delphi-Projekte bekommt der Übersetzer nicht nur die Strings zu sehen sondern gleich auch noch die Formulare und hat so einen kontext - und kann z.B. Labels auch noch gleich größer oder kleiner ziehen, wenn der übersetze Text z.B. nicht ganz reinpasst.

gore 30. Aug 2006 12:19

Re: Japanische Version von Delphi 7 kaufen
 
Danke für alle Antworten. Hier abschließend meine Lösung: Alle Strings hat mir der Japaner in Shift-JIS gespeichert (lokale Codepage, kein Unicode). Ich habe am Programm nicht viel geändert, nur die Strings eingebunden und alle verwendeten Schriftarten auf "MS Shell Dlg" gesetzt. Somit nimmt ein japanischen Windows die Schrift "MS Gothic". Scheint alles zu klappen, sieht auch richtig gut aus. Mal sehen obs unter Vista auch klappt....

Ben


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

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