C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: UnicodeString строка. Изменить символ  (Прочитано 2817 раз)
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


UnicodeString строка. Изменить символ
« : 30 Июль 2014, 14:03:23 »

Код
UnicodeString s;

Как s[1] сделать нужным мне? Для Ансистринг я писал s[1] = (char)221;

Тут же ничего не могу придумать.
Записан
d7d1cd
Участник


Сказали спасибо: +59/-24
Offline

Сообщений: 1005


Re: UnicodeString строка. Изменить символ
« Ответ #1 : 30 Июль 2014, 17:01:12 »

Вот оно:
Код
UnicodeString s = L"Привет";
s[1] = (wchar_t)0x0442; // В итоге имеем "тривет"
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: UnicodeString строка. Изменить символ
« Ответ #2 : 31 Июль 2014, 08:17:11 »

Цитата: d7d1cd от 30 Июль 2014, 17:01:12
Вот оно:
Код
UnicodeString s = L"Привет";
s[1] = (wchar_t)0x0442; // В итоге имеем "тривет"

Так делал, не катит.. Нужны символы стрелочек (коды 220 и 221 - по "вставке" Word) шрифта Wingdings. Вместо них рисуется пустое место.
Да, я сейчас пытаюсь возиться с XE6.. может это важно.
То, что я сейчас ковыряю - мой комопонент, который когда-то под 2009 студией писал. Там проблем не было.

Сейчас для отладки вне компонента формирую UnicodeString и присваиваю надписи TLabel. Шрифт, понятное дело, задал UnicodeString.

P.S. Коль уж про XE6 дело зашло, то.. при сборке компонента файл bpl формируется с двумя точками перед расширением (*..bpl). Приходится после компиляции переименовывать файл и лишь затем устанавливать в систему. Что за лажа?
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: UnicodeString строка. Изменить символ
« Ответ #3 : 31 Июль 2014, 10:29:09 »

221-й символ Юникода - это же ?
http://unicode-table.com/ru/#00DD
Тебе он нужен?

Так не пробовал?
Код
UnicodeString s = L"Привет";
s[1] = u'?';
// или
s[1] = u'\00DD';
 
http://docwiki.embarcadero.com/RADStudio/XE3/en/Unicode_Character_Types_and_Literals_(C%2B%2B0x)
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: UnicodeString строка. Изменить символ
« Ответ #4 : 31 Июль 2014, 10:38:26 »

Выделенный символ нужен.
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: UnicodeString строка. Изменить символ
« Ответ #5 : 31 Июль 2014, 10:39:26 »

Цитата: S0mbre от 31 Июль 2014, 10:29:09
Код
UnicodeString s = L"Привет";
s[1] = u'?';
// или
s[1] = u'\00DD';
 

А приведённые конструкции не компиляются. Говорит, что это не одиночный символ:
E2557 Multi-character character constant not allowed
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: UnicodeString строка. Изменить символ
« Ответ #6 : 31 Июль 2014, 11:27:47 »

Ну это символ из конкретного шрифта, т.е. здесь все равно нужен компонент со свойством Font, например TLabel или TCanvas.
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


« Ответ #7 : 31 Июль 2014, 11:29:14 »

Цитата: S0mbre от 31 Июль 2014, 11:27:47
Ну это символ из конкретного шрифта, т.е. здесь все равно нужен компонент со свойством Font, например TLabel или TCanvas.

Конечно, в Лабел и гружу строку.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.104 секунд. Запросов: 21.