![]() |
Menue Chinesisch
hallo zusammen,
ich hoffe ich bin im richtigen Forum. Folgendes Szenario, ich erzeuge während der Laufzeit ein TMainmenu
Code:
wobei owner das jeweilige form ist.
FMainMenu:= TMainMenu.create(owner);
ebenso zur Laufzeit werden die dazugehörenden Menuitems erzeugt. dabei ist FMenuItem.name identisch mit FMenuItem.caption. die entsprechenden Items werden in einer Schleife erzeugt und die Werte aus der Db gelesen. soweit so gut. Funktioniert bisher tadellos. Allerdings kommt jetzt die Anforderung das menue auf chinesisch umzustellen.;-) Funktioniert soweit auch, caption hat keine Probleme mit den chinesischen Zeichen. Bis auf den FMenuItem.name, hier werden die chinesischen Zeichen nicht akzeptiert. Gibts irgend ne Möglichkeit den chinesischen zeichensatz in eine für den namen aktzeptablen Zeichensatz umzuwandeln? Ich möchte ungern die gesamte Routine grundlegend ändern :-( danke für eure Ideen EDIT: hab gerade festgestellt, dass das feld in der DB wohl auch nen anderen zeichensatz benötigt :-( UNICODE ??? Gruss KHH |
AW: Menue Chinesisch
In Delphi 2010 (bei 2009 vermutlich auch) sollten chinesische Zeichen für Funktions-, Klassen-, Variablen- und sonstigen Bezeichner zulässig sein. (innerhalb der RTTI werden diese als UTF-8 behandelt)
Aber für dynamisch erzeugte Objekte brauchst du nicht unbedingt den .Name festlegen ... laß diesen also einfach leer. Es sei denn du mußt dieses Objekt über FindComponent finden können. |
AW: Menue Chinesisch
Zitat:
funktioniert ohne name. Aber, ich habs schon befürchtet, die DB kommt mit den Zeichen nicht klar, es werden im caption nur ??? angezeigt. was für einen Zeichensatz brauch ich da in der firebird db? |
AW: Menue Chinesisch
ich kenn zwar nicht firebird, aber bei Oracle oder auch SQL Server reicht die Typdeklaration nvarchar2 bzw. nvarchar aus und die DB akzeptiert auch unicode-Zeichen.
:-mschmidt |
AW: Menue Chinesisch
Zitat:
PS: falls es dich dennoch interessiert ... siehe Funktion IsValidIdent aus der SysUtils |
AW: Menue Chinesisch
Zitat:
|
AW: Menue Chinesisch
Muß man hier eigentlich auch den Zeichensatz der Datenbankanbindung auch mit einstellen?
Nicht daß die Verbindung zur DB nur ANSI ist, dann wäre ja das Format der Felder/Tabellen am Ende auch "egal", da es beim Übertragen "geschrottet" wird. |
AW: Menue Chinesisch
Zitat:
EDIT: mit unicode klappts, danke für eure Hilfe Gruss KHH |
AW: Menue Chinesisch
Brauchst man auch nicht. Man muss nur die richtige locale einstellen
Welche Delphiversion? Warum muss im Namen einer Komponente chinesische Zeichen sein? |
AW: Menue Chinesisch
Viele geben auf Zwang einen Namen an, weil sie denken dieser muß unbedingt angegeben werden.
Und so, wie die IDE die Caption als Vorlage für den Namen nimmt, wollte er es wohl auch so ähnlich machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
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 by Thomas Breitkreuz