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

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

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

Регистрация: Aug 2012
Адрес: Санкт-Петербург
Сообщений: 12
По умолчанию Помогите пожалуйста доработать кодировщик.

Есть кодировщик на флеше. делает следующие: в в текстовое поле №1 вводим допустим 001 и получаем во втором текстовом поле букву - А!
Вроде все просто. все сделано и работает, но есть проблема. Исходный цифирный код дается в таком виде: 001/003/005//012/032//852//012/564/. В данном случае символ слеш ( / ) обозначает конец кода буквы и переход к коду другой! Двойной слеш ( // ) соответственно пробел.
Вот собственно тут и проблема, как правильно написать функцию. чтобы увидев слеш флеш переходи к чтению следующей группе цифр, до следующего слеша. И соответственно во втором поле буквы не заменял, а добавлял составляя слова?!
Буду благодарен за помощь или хотябы подсказку, в каком направлении копать! ))

код сейчас выглядит так:
Код AS3:
package
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;
 
	public class WCode extends MovieClip
	{
		private var input:TextField;
		private var output:TextField;
 
		private var object:Object;
 
		public function WCode()
		{	object = new Object();
			object["001"] = "а";
			object["002"] = "б";
			object["003"] = "в";
			object["004"] = "г";
 
			input = okno1.input_txt;
			output = okno2.input_txt;
 
			input.text = "";
			output.text = "";
 
			input.addEventListener(Event.CHANGE, onTextChange);
		}
 
		private function onTextChange(e:Event):void
		{
			var text:String = object[input.text];
 
			if (text)
			{
				output.text = text;
			}
 
		}
	}
}
Добавлю исходничек. Может кому не лень будет глянуть. Заранее спасибо всем откликнувшимся!
Вложения
Тип файла: rar WCode2.rar (214.0 Кб, 47 просмотров)


Последний раз редактировалось Orfei; 06.12.2012 в 00:23.
Старый 06.12.2012, 00:13
am_devcorp вне форума Посмотреть профиль Отправить личное сообщение для am_devcorp Найти все сообщения от am_devcorp
  № 2  
Ответить с цитированием
am_devcorp
 
Аватар для am_devcorp

Регистрация: Jan 2012
Адрес: (0;0;0) относительно меня
Сообщений: 82
Отправить сообщение для am_devcorp с помощью Skype™
В коде символа (001, 002, ...) гарантировано будут три цифры?
И это, сохрани для версии флеша немного ниже, хотя бы для пятой, а то не у всех есть cs6.
__________________
cats are supreme beings

Старый 06.12.2012, 00:17
Orfei вне форума Посмотреть профиль Отправить личное сообщение для Orfei Найти все сообщения от Orfei
  № 3  
Ответить с цитированием
Orfei
 
Аватар для Orfei

Регистрация: Aug 2012
Адрес: Санкт-Петербург
Сообщений: 12
Нет, 3 цифры не всегда. в среднем от 3 до 5. иногда между цифрами попадается символы вроде: &, $, #. и т.д. Исходнички сейчас поправлю. ))

Старый 06.12.2012, 00:18
am_devcorp вне форума Посмотреть профиль Отправить личное сообщение для am_devcorp Найти все сообщения от am_devcorp
  № 4  
Ответить с цитированием
am_devcorp
 
Аватар для am_devcorp

Регистрация: Jan 2012
Адрес: (0;0;0) относительно меня
Сообщений: 82
Отправить сообщение для am_devcorp с помощью Skype™
> вроде: &, $, #
Которые играют какую-то роль или должны игнорироваться?
__________________
cats are supreme beings

Старый 06.12.2012, 00:27
Orfei вне форума Посмотреть профиль Отправить личное сообщение для Orfei Найти все сообщения от Orfei
  № 5  
Ответить с цитированием
Orfei
 
Аватар для Orfei

Регистрация: Aug 2012
Адрес: Санкт-Петербург
Сообщений: 12
Да, они играют роль. Там код на одну букву может выглядеть так : 001, а на другую так: 00&54

А разве это важно? Ведь насколько я понимаю, надо подвесить слушатель к символу слеш ( / ). И далее рисовать функцию. Или я чего-то не понимаю???

Старый 06.12.2012, 00:28
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Решения два.
Первое: посимвольное чтение с последующим анализом прочтенного и парсингом (кажется, сие зовется конечными автоматами).
Второе: отсплиттить по /\\\\/, каждый элемент полученного массива отсплиттить по /\\/ и прогнаться по всем элементам полученных массивов в конечном итоге.

Добавлено через 2 минуты
Ну и да, про входящую в парсер строку. Не забываем, что \ - спецсимвол экранировки и его самого нужно экранировать, чтобы получить обратный слеш, а не спецсимвол. Это я так, на всякий пожарный.
__________________
тут я

Старый 06.12.2012, 00:32
Orfei вне форума Посмотреть профиль Отправить личное сообщение для Orfei Найти все сообщения от Orfei
  № 7  
Ответить с цитированием
Orfei
 
Аватар для Orfei

Регистрация: Aug 2012
Адрес: Санкт-Петербург
Сообщений: 12
Цитата:
Сообщение от КорДум Посмотреть сообщение
Решения два.
Первое: посимвольное чтение с последующим анализом прочтенного и парсингом (кажется, сие зовется конечными автоматами).
Второе: отсплиттить по /\\\\/, каждый элемент полученного массива отсплиттить по /\\/ и прогнаться по всем элементам полученных массивов в конечном итоге.
с посимвольным чтением, мне кажется не стоит заморачиваться. Ведь всегда есть закрывающий слеш! Как правильно отрисовать функцию на этот самый слеш, что-то не соображу!

Старый 06.12.2012, 00:32
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Я не понимаю, что есть "отрисовать функцию на слеш".
__________________
тут я

Старый 06.12.2012, 00:37
am_devcorp вне форума Посмотреть профиль Отправить личное сообщение для am_devcorp Найти все сообщения от am_devcorp
  № 9  
Ответить с цитированием
am_devcorp
 
Аватар для am_devcorp

Регистрация: Jan 2012
Адрес: (0;0;0) относительно меня
Сообщений: 82
Отправить сообщение для am_devcorp с помощью Skype™
Так как строка будет вводиться в текстфилд, слкши будут уже экранированы, не стоит заморачиваться на этот счёт.
__________________
cats are supreme beings

Старый 06.12.2012, 00:38
Orfei вне форума Посмотреть профиль Отправить личное сообщение для Orfei Найти все сообщения от Orfei
  № 10  
Ответить с цитированием
Orfei
 
Аватар для Orfei

Регистрация: Aug 2012
Адрес: Санкт-Петербург
Сообщений: 12
)))
просто я не знаю как заставить флеш не читать дальше символа слеш ( / ). и читать все что далее после него. вот и все. ))

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

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

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


 


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


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