Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.03.2009, 16:55
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 1  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
По умолчанию Нестандартная замена по шаблону

Привет всем!

Предыстория.
У меня задача, нужно в текстовых кроме текста выводить специальные символы, как в шрифте Wingdings. Я создал свой шрифт и внедрил его в swf. Этот шрифт, включает кроме текстовых элементов ещё и символьные.
Вывести такие символы возможно только указав его код:
Код:
 String.fromCharCode( charCode );
Задача. Есть текст вида:
Код:
Это просто текст за которым следует символ: [123]
Это просто текст за которым следует другой символ: [456]
Здесь 123 и 456 коды символов. Мне нужно подставить вместо [123] и [456] символ, код которого указан в квадратных скобках, но не знаю как это сделать.

Попытки. Следующий код находит комбинации заключенные в квадратные скобки и может их на что-то заменить:

Код:
var line:String = "[1]Привет [2]wdwd [3][4]";
line = line.replace( /\[.*?\]/g, "($&)" );
trace(line);
Но мне нужно не заменить, а преобразовать числовое значение к коду символа. Подскажите в каком направлении можно подумать, для решения этой задачи.

Старый 13.03.2009, 17:15
Arif flasher вне форума Посмотреть профиль Отправить личное сообщение для Arif flasher Посетить домашнюю страницу Arif flasher Найти все сообщения от Arif flasher
  № 2  
Ответить с цитированием
Arif flasher
[+4 14.03.09]
 
Аватар для Arif flasher

Регистрация: Mar 2009
Адрес: Баку, город ветров
Сообщений: 51
Отправить сообщение для Arif flasher с помощью ICQ Отправить сообщение для Arif flasher с помощью MSN Отправить сообщение для Arif flasher с помощью Skype™
Код AS3:
var PerviyKod:String = "Это просто текст за которым следует символ: " +   String.fromCharCode(123);
var VtoroyKod:String = "Это просто текст за которым следует другой символ: " +  String.fromCharCode(456)
блин тэги кода мешают


Последний раз редактировалось Arif flasher; 13.03.2009 в 17:17.
Старый 13.03.2009, 17:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Вывести такие символы возможно только указав его код:
\x00 | \u0000 (HEX)
__________________
Hell is the possibility of sanity

Старый 13.03.2009, 17:22
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 4  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Это и так понятно, что работает, мне нужно автоматизированно заменить коды символов на соответствующие.
Информация у меня хранится в XML и загружается в приложение. XML я создаю руками и было бы удобнее в нужных местах указать коды необходимых символов.

2wvxvw: Cпасибо, сейчас попробую!


Последний раз редактировалось Роман Вадимович; 13.03.2009 в 17:25.
Старый 13.03.2009, 17:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ну так и указывайте через косая + u + номер в HEX этого символа, зачем вообще что-то заменять?
__________________
Hell is the possibility of sanity

Старый 13.03.2009, 17:29
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 6  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Прошу прощения, когда писал свой пост, не видел Вашего сообщения...

Старый 13.03.2009, 17:43
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
var line:String = "[301]qwert [302]asd [303]";
 
for (var i:int = 300; i < 310; i++) //диапазон спецсимволов
{
	line = line.split("[" + i + "]").join(String.fromCharCode(i));
}

Старый 13.03.2009, 22:30
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 8  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Большое спасибо, за советы, получилось!

Добавлено:
Прошу прощения, может посоветуете, по поводу метода указания кода символа \u0000. При задании значения в коде все отлично работает. Но если содержимое текстовых полей загружаются из внешнего XML файла - данные отображаются без преобразования в символы. Т.е. вместо \u1234 отображается \u1234.


Последний раз редактировалось Роман Вадимович; 13.03.2009 в 22:57.
Старый 13.03.2009, 23:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
var s:String = "MMM \\u0026 K\\u00BA \\u2122";
trace(s);
s = s.replace(/\\u([\dA-F]{4})/gi, replaceHelper);
function replaceHelper(...rest):String
{
	return String.fromCharCode(parseInt(rest[1], 16));
}
trace(s);
__________________
Hell is the possibility of sanity

Старый 13.03.2009, 23:26
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 10  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
wvxvw, Вы маг, спасибо, это то что мне было нужно!

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.