Что эквивалентно chr (153) (символ ТМ) в Юникоде - PullRequest
7 голосов
/ 26 июня 2010

В более ранних версиях Delphi я мог использовать

s:=chr(153);

чтобы получить символ товарного знака в строке. В Delphi 2010 это больше не работает, возможно, из-за юникода. Какова эквивалентная строка кода для размещения символа ТМ в моей строке?

Ответы [ 6 ]

11 голосов
/ 26 июня 2010

В D2010 я могу сделать это:

s := '™' + chr(8482) + #8482;  // yields 3 subsequent TM symbols

Результат: ™ выполняет требование

Вот хорошая статья самого Джоэла - я перечитал ее только сегодня, фактически.
http://www.joelonsoftware.com/articles/Unicode.html

9 голосов
/ 26 июня 2010

Я почти уверен, что chr(153) это "Ö" ( кодовая страница 437 ), о, подождите, это "r" ( EBCDIC 037 ).

На самом деле chr(153) не определено, если только вы не укажете кодовую страницу, которую используете.
Именно поэтому вам следует использовать Юникод .

В Википедии естьстраницы для большинства символов Unicode и включают в себя Unicode кодовую точку для них.

Существует простой символ торговой марки , имеющий кодовую точку Unicode U + 2122(Delphi: Chr($2122) или #$2122).
Существует также зарегистрированный символ товарного знака , имеющий кодовую точку Unicode U + 00AE (Delphi: Chr($00AE) или #$00AE).

Unicode-сайт имеет список диаграмм , в котором вы можете найти все символы, но потребуется время, чтобы привыкнуть к их поиску (так как число диаграммнемного большой).
Простой символ товарного знака является частью буквенных символов .
Зарегистрированный символ товарного знака является частью латинского-1 дополнения .

- Йерун

3 голосов
/ 26 июня 2010

Согласно кодовой диаграмме Unicode для "буквенных символов" , символом ТМ является Unicode U + 2122.Я не знаю достаточно Delphi, чтобы понять, как ты превращаешь это в персонажа - возможно,

s := chr(8482);

?(8482 - десятичное число для гексагона 2122).

В качестве альтернативы, посмотрев на эту страницу , вы можете попробовать:

s := #$2122;
1 голос
/ 26 июня 2010

Это символ U + 2122 (http://www.fileformat.info/info/unicode/char/2122/index.htm).. Я давно не пользовался Delphi, но прежде всего вам следует попытаться ввести символ напрямую (возможно, с помощью утилиты Character Map, такой как charmap.exe в Windows). или BabelMap). Это легче читать, чем что-либо еще.

0 голосов
/ 26 июня 2010

Чтобы найти кодовую точку Unicode для данного символа, откройте «Стандартные» -> «Системные инструменты» -> «Карта символов», выберите шрифт Unicode, найдите нужный символ, в левом нижнем углу приложение отобразит код Unicode.

0 голосов
/ 26 июня 2010

в html it ™ попробуйте использовать его на http://code.cside.com/3rdpage/us/unicode/converter.html

...