2010-06-25 5 views
7

In früheren Delphi-Versionen konnte ich verwendenWas die äquivalent von chr ist (153) (Das TM-SYMBOL) in Unicode

s:=chr(153); 

ein Markensymbol in einer Zeichenfolge zu erhalten. In Delphi 2010 funktioniert das nicht mehr, vielleicht mit Unicode. Was ist die entsprechende Code-Zeichenfolge, um das TM-Symbol in meine Zeichenfolge einzufügen?

+3

Haben Sie schonmal von charmap.exe gehört? Drücken Sie Win + R, schreiben Sie "charmap.exe", drücken Sie Enter, wählen Sie eine anständige Unicode-Schriftart (zB Arial Unicode MS oder Lucida Sans Unicode oder in diesem Fall sogar Tahoma), wählen Sie Erweiterter Modus, stellen Sie sicher, dass der Zeichensatz Unicode ist und suche nach "Marke". –

+1

Übrigens: Was hat das mit ASCII zu tun? Es gibt nur 128 ASCII-Zeichen mit den Namen 0, 1, ..., 127. Sie meinen wahrscheinlich ANSI oder Windows-1252. –

+0

Was ist falsch daran, es nur als Literal zu verwenden? 's: = '™';'? –

Antwort

9

Ich bin mir ziemlich sicher, dass chr(153) ist "Ö" (Code page 437), oh warten, es ist "r" (EBCDIC 037).

Eigentlich ist chr(153) undefiniert, es sei denn, Sie geben auch die von Ihnen verwendete Codepage an.
Welches ist genau der Grund, warum Sie Unicode verwenden sollten.

Wikipedia hat Seiten für die meisten Unicode symbols und enthält die Unicode codepoint für sie.

Es gibt die Ebene trademark symbol mit Unicode Codepunkt U + 2122 (Delphi: Chr($2122) oder #$2122).
Es gibt auch die registered trademark symbol mit Unicode Codepunkt U + 00AE (Delphi: Chr($00AE) oder #$00AE).

Die unicode site hat eine list of charts, wo Sie alle Symbole finden können, aber es braucht Zeit, wie man sie benutzt (wie die Anzahl der Diagramme ist ein bisschen groß). Das einfache Markenzeichen ist Teil der letterlike symbols. Das eingetragene Warenzeichen ist Teil der latin-1 supplement.

--jeroen

+1

Ich würde auch ein Argument für das Unicode-Buch machen. Ich habe einmal das Unicode 4.0-Buch von einem Schnäppchen-Bin geholt, und es ist eine großartige Waffe :-) Es kann auch als eine schöne Referenz verwendet werden. –

3

Gemäß der Unicode code chart for "letterlike symbols" ist das TM-Symbol Unicode U + 2122. Ich weiß nicht genug Delphi zu wissen, wie Sie das in ein Zeichen drehen - vielleicht

s := chr(8482); 

? (8482 ist das Dezimalsystem für hex 2122.)

Alternativ bei this page sah zu haben, könnten Sie versuchen:

+2

... oder sogar S: = # 8482; –

+0

In Delphi wäre es # $ 2122 - das Zeichen # steht für ein Zeichen und das $ für eine Hexadezimalzahl. –

1

Es ist Zeichen U + 2122 (http://www.fileformat.info/info/unicode/char/2122/index.htm). Ich habe Delphi lange Zeit nicht benutzt, aber vor allem sollten Sie versuchen, das Zeichen direkt einzugeben (wahrscheinlich mit einem Zeichentabelle-Dienstprogramm wie Windows charmap.exe oder BabelMap). Das ist leichter zu lesen als alles andere.

0

den Unicode-Codepunkt für ein bestimmtes Zeichen zu entdecken, öffnet Zubehör -> Systemprogramme -> Zeichentabelle, eine Unicode-Schriftart auswählen, suchen Sie nach dem Zeichen, das Sie benötigen, die in der unteren linken Ecke Anwendung zeigt den Unicode-Code an.

Verwandte Themen