Как я могу добавить символ угла к строке, чтобы вставить TMemo
?
Я могу добавить символ степени достаточно легко на основе его восьмеричного значения из расширенная таблица ascii :
String deg = "\272"; // 272 is octal value in ascii code table for degree symbol
Form1->Memo1->Lines->Add("My angle = 90" + deg);
Но, если я , попробуйте использовать escape-последовательность для символа угла (\u2220
), я получу ошибку компилятора, W8114 Character represented by universal-character-name \u2220 cannot be represented in the current ansi locale
:
UnicodeString deg = "\u2220";
Form1->Memo1->Lines->Add("My angle = 90" + deg);
Просто для ясности, ниже приведен символ, который я ищу. Я могу просто использовать @
, если у меня есть, просто интересно, возможно ли это без стегания зубов. Моя цель для этого теста - Win32, но я хочу, чтобы он работал и на iOS, и на Android.
ps Эта таблица удобно видеть коды.
После после ответа Роба у меня все работает, но в iOS угол смещен вниз под горизонталь с другим текстом. На Win32 он крошечный. Хорошо выглядит на Android. Я сообщу об ошибке в Embarcadero, хотя и незначительно.
Здесьэто код, который я использовал, основываясь на комментариях Роба:
UnicodeString szDeg;
UnicodeString szAng;
szAng.SetLength(1);
szDeg.SetLength(1);
*(szAng.c_str()) = 0x2220;
*(szDeg.c_str()) = 0x00BA;
Form1->Memo1->Lines->Add("1: " + FormatFloat("##,###0.0",myPhasors.M1)+ szAng + FormatFloat("###0.0",myPhasors.A1) + szDeg);
Вот как выглядит, когда явно установлен шрифт TMemo
в Courier New:
Вот последний код, который я использую после ответов Реми:
UnicodeString szAng = _D("\u2220");
UnicodeString szDeg = _D("\u00BA");
Form1->Memo1->Lines->Add("1: " + FormatFloat("##,###0.0",myPhasors.M1)+ szAng + FormatFloat("###0.0",myPhasors.A1) + szDeg);