2010-06-25 8 views
7

En versiones anteriores de Delphi, podría usar¿Cuál es el equivalente de Chr (153) (El TM de símbolos) en Unicode

s:=chr(153); 

para obtener un símbolo de marca en una cadena. En Delphi 2010, eso ya no funciona, tal vez para hacer con Unicode. ¿Cuál es la cadena de código equivalente para poner el símbolo TM en mi cadena?

+3

¿Has oído hablar de charmap.exe? Presione Win + R, escriba "charmap.exe", presione Enter, seleccione una fuente Unicode decente (por ejemplo, Arial Unicode MS o Lucida Sans Unicode o, en este caso, incluso Tahoma), seleccione el modo Avanzado, asegúrese de que el conjunto de caracteres sea Unicode y busque "marca comercial". –

+1

Por cierto: ¿qué tiene esto que ver con ASCII? Solo hay 128 caracteres ASCII, llamados 0, 1, ..., 127. Probablemente se refiera a ANSI o Windows-1252. –

+0

¿Qué tiene de malo simplemente usarlo como un literal? 's: = '™';'? –

Respuesta

9

estoy bastante seguro de que chr(153) es "O" (Code page 437), Oh, espera, que es "r" (EBCDIC 037).

En realidad chr(153) es indefinido a menos que también especifique la página de códigos que está utilizando.
Cuál es exactamente la razón por la que debe usar Unicode.

Wikipedia tiene páginas para la mayoría de las Unicode symbols, e incluye el Unicode codepoint para ellas.

Existe la llanura trademark symbol que tiene punto de código Unicode U + 2122 (Delphi: Chr($2122) o #$2122).
También está el registered trademark symbol que tiene un punto de código Unicode U + 00AE (Delphi: Chr($00AE) o #$00AE).

unicode site tiene list of charts donde puede encontrar todos los símbolos, pero lleva tiempo acostumbrarse a encontrarlos (ya que el número de gráficos es un poco grande).
El símbolo de marca simple es parte de letterlike symbols.
El símbolo de marca registrada forma parte del latin-1 supplement.

--jeroen

+1

También haría un caso para el libro Unicode. Una vez busqué el libro de Unicode 4.0 en una papelera, y es una gran arma :-) También se puede usar como referencia fina por cierto. –

3

Según el Unicode code chart for "letterlike symbols", el símbolo TM es Unicode U + 2122. No sé lo suficiente de Delphi para saber cómo convertir eso en un personaje - quizás

s := chr(8482); 

? (8482 es el decimal para hexadecimal 2122.)

Alternativamente, después de haber mirado this page, puede intentar:

+2

... o incluso S: = # 8482; –

+0

En Delphi, sería # $ 2122 - el signo # indica un carácter, y el $ lo convierte en un número hexadecimal. –

1

Es el carácter U + 2122 (http://www.fileformat.info/info/unicode/char/2122/index.htm). No he usado Delphi durante mucho tiempo, pero antes de nada debes tratar de ingresar al personaje directamente (probablemente usando una utilidad de Mapa de caracteres como el charmap.exe de Windows o BabelMap). Eso es más fácil de leer que cualquier otra cosa.

0

Para descubrir el punto de código Unicode para un carácter determinado, Accesorios abiertos -> Herramientas del sistema -> Mapa de caracteres, seleccione una fuente Unicode, buscan el carácter que necesita, en la esquina inferior izquierda de la aplicación muestra el código Unicode.

Cuestiones relacionadas