AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Menue Chinesisch

Ein Thema von khh · begonnen am 19. Jul 2010 · letzter Beitrag vom 20. Jul 2010
Antwort Antwort
Seite 1 von 2  1 2      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

Menue Chinesisch

  Alt 19. Jul 2010, 19:23
hallo zusammen,
ich hoffe ich bin im richtigen Forum.

Folgendes Szenario,

ich erzeuge während der Laufzeit ein TMainmenu

Code:
FMainMenu:= TMainMenu.create(owner);
wobei owner das jeweilige form ist.

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
Karl-Heinz

Geändert von khh (19. Jul 2010 um 19:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Menue Chinesisch

  Alt 19. Jul 2010, 19:46
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Menue Chinesisch

  Alt 19. Jul 2010, 19:55
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.
supi, auf das Einfachste kommt man selbst nie
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?
Karl-Heinz
  Mit Zitat antworten Zitat
Mschmidt

Registriert seit: 4. Jul 2010
Ort: Berlin
62 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Menue Chinesisch

  Alt 19. Jul 2010, 20:09
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Menue Chinesisch

  Alt 19. Jul 2010, 20:42
Aber, ich habs schon befürchtet, die DB kommt mit den Zeichen nicht klar, es werden im caption nur ??? angezeigt.
Tja, das Fragezeichen ist halt nicht erlaubt.

PS: falls es dich dennoch interessiert ... siehe Funktion IsValidIdent aus der SysUtils
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Menue Chinesisch

  Alt 19. Jul 2010, 21:44
ich kenn zwar nicht firebird, aber bei Oracle .. reicht die Typdeklaration nvarchar2
Hier sollte man aber auch nvarchar2(<Länge> CHAR) damit du auch wirklich <Länge> Zeichen in dein Feld hinein bekommst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

AW: Menue Chinesisch

  Alt 19. Jul 2010, 21:56
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Menue Chinesisch

  Alt 20. Jul 2010, 06:50
ich kenn zwar nicht firebird, aber bei Oracle .. reicht die Typdeklaration nvarchar2
Hier sollte man aber auch nvarchar2(<Länge> CHAR) damit du auch wirklich <Länge> Zeichen in dein Feld hinein bekommst.
gibts bei firebird leider nicht .-(

EDIT: mit unicode klappts,
danke für eure Hilfe

Gruss KHH
Karl-Heinz

Geändert von khh (20. Jul 2010 um 08:01 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Menue Chinesisch

  Alt 20. Jul 2010, 08:03
Brauchst man auch nicht. Man muss nur die richtige locale einstellen
Welche Delphiversion? Warum muss im Namen einer Komponente chinesische Zeichen sein?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

AW: Menue Chinesisch

  Alt 20. Jul 2010, 08:56
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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