Ich habe eine Reihe von Delphi-Formularen, in denen wir einige Sonderzeichen verwenden - das 'Grad'-Symbol und das' Ohm'-Symbol. Diese Zeichen werden in Beschriftungsbeschriftungen verwendet, die in der DFM-Datei gespeichert sind und nicht zur Laufzeit generiert oder geändert werden. Als wir diese Formen zum ersten Mal entwarfen, war das Grad-Symbol einfach, weil es im Ansi-Zeichensatz (Code 176) war, aber das Ohm-Symbol brauchte den griechischen Zeichensatz mit Code 217. Zum Glück (wir fanden) alle anderen Zeichen, die wir hatten Notwendigkeit (Buchstaben und Zahlen) funktionieren gut mit dem griechischen Zeichensatz.Delphi-DFMs mit Sonderzeichen nach D2009 migrieren
Jetzt möchten wir, dass diese Formulare in D2009 gleich aussehen. Das Grad-Symbol erscheint gut, aber das Ohm-Symbol zeigt "Ù", weil der dfm-Text "Caption = 'In Ohm eingegeben - 1234' # 217" ist. Ich finde, dass ich das Formular bearbeiten kann, um das richtige Unicode-Ohm-Symbol (8486) zu setzen, aber natürlich geht das mit einem "?" wenn ich zurück zur D7 gehe. Idealerweise möchte ich D2009 mitteilen, weiterhin den griechischen Zeichensatz mit dem Formular zu verwenden, so dass # 217 in der dfm dem Ohm-Symbol zugeordnet wird. Ist das möglich? Es scheint, die Schriftart.Charset-Einstellung zu ignorieren, die "GREEK_CHARSET" ist. Ich habe eine schmutzige Art entdeckt, dieses Problem zu lösen, indem ich alle Komponenten durchspiele und "StringReplace (S, '', OhmsChar, [rfReplaceAll])" mache, aber das ist schrecklich und sicherlich muss es einen besseren Weg geben?
Danke, Brian
+1 für Ressourcen-Strings. Sie sind der sauberste Weg, dies zu handhaben und spätere Übersetzungen mit vorhandenen Tools zu einem Kinderspiel zu machen. – skamradt
Dies ist eine gute Lösung für Code, aber wie hilft das bei den DFM-Dateien? Danke –