PDA

Просмотр полной версии : SMS чат (ТВ проект) есть вопрос.


Markelov
27.12.2006, 14:34
Доброго времени суток Вам, господа программеры. Я работаю на областном телевидении и у нашего шефа возникла идея использования ТВ контента одного из провайдеров сотовой связи. В итоге предо мной была поставленна задача реализовать программно-аппаратную часть процесса на стороне клиента, то есть нас (телекомпании). Аппаратура есть - она работает с flash объектами, надо написать самый простенький софт. Пытаясь создать онное натолкнулся на проблему:

Есть строки создаваемые динамически допустим:

var StrText="привет как дела где ты был?"; //строка которую надо вывести
StrName=new String("text"+i++); //создаем уникальное имя экземпляра строки
_root.createTextField(StrName, i, x0,y0,x,y); //создаем текстовый объект

А теперь вопрос: мне надо работать со свойствами объекта. Через оператор with не получается, т.к. он не понимает переменную StrName. Ее видит как имя объекта. Поэтому работаю через оператор:

tellTarget(StrName)
{
type="dynamic";
autoSize=true;
border=true;
................
text=StrText;
}

Но тут возникает следующая дилема внутри блока переменная StrText воспринимается как свойство объекта или еще что-то там. Вобщем если внутри блока делаю trace(StrText); мне пишут undefined. Обидно честное слово.

ЕСЛИ КТО СТАЛКИВАЛСЯ С ТАКОЙ ПРОБЛЕМОЙ ОПЕРАТОРА tellTarget ИЛИ ЗНАЕТ КАК МНЕ ОБОЙТИ ЭТОТ МЕХАНИЗМ НАПИШИТЕ ПОЖАЛУЙСТА.

iNils
27.12.2006, 15:10
Пункт 3-ый http://www.flasher.ru/forum/showthread.php?t=79864.
Жмем кнопку изменить и приводим в надлежащий вид.

motor4ik
27.12.2006, 16:31
что -то простое, но так замудрено что ничего непонять )))
tellTarget лучше не пользоваться, пользуйтесь "." , и будет вам счастье )))

Aziz Zaynutdinoff
27.12.2006, 16:32
почему бы просто не писать:

StrName.autoSize = true;
StrName.border=true;
StrName.text = StrText;


tellTarget-то зачем? он уже давно не используется

CorC
27.12.2006, 16:49
видимо там AS1 используется

Markelov
27.12.2006, 18:01
Немогу использовать оператор прямого доступа ".", так как например если i=1, то экземпляр объекта StrName должен быть text_1, то есть StrName="text_1", но если использовать конструкцию StrName.text то будет обращение к свойству объекта StrName, а не объекта text_1. Вот в чем прикол. То есть ЗНАЧЕНИЕ переменной StrName (text_1), а не ИМЯ переменной (StrName) - ИМЯ экземпляра текстового объекта.

etc
27.12.2006, 18:38
this[StrName].text = 'text';

Markelov
28.12.2006, 13:03
Вот спасибо, etc. Заработало. С меня пиво. Вышлю по e-mail'у. 8)