PDA

Просмотр полной версии : Переменные из текстового файла


FEBRA
07.02.2007, 16:28
Привет!
Наверняка скажете что проблема старая, но я читал Ваши рекомендации, но применить их не получается.
Не ругайте сильно, помогите пожалуйста.
//
inform.txt -мой текстовый файл (в UTF-8):
poz=3 (количество фраз)
&cons=1241 (переменная для дальнейшего использования)
&str1=Hello (первая фраза)
&str2=Thank (первая фраза)
&str3=Please (первая фраза)
//
нужно присвоить
p1=poz
c1=cons
st1=str1
st2=str2
st3=str2
//
скрипт в первом кадре _root:
//
var data_lv=new LoadVars();
data_lv.load("inform.txt");
data_lv.onLoad=function(success){
if(success){
_root.p1=parseInt(this.poz);
_root.c1=parseInt(this.cons);
for(b=1; b<=_root.p1; b++){
set("_root.st"+b,eval("this.str1"+b));
}
}
}//
Уже неделю страдаю, не могу решить проблему. Подскажите что я не так сделал.
Циклы for повисают, причем переменная p1 внутри блока onLoad выводится в trace, но не вне его.
c1, str[i] - вообще не присваиваются ни при каких условиях.
И что смешно, флэш видит переменные, если их имена забить непосредственно в var для TextArea.
Для меня самое главное, чтобы все переменные были доступны в любых клипах. Пользуюсь Flash8. Очень жду Вашей помощи.

bbexp
07.02.2007, 16:33
скорее всего у вас там разрывы строк идут.
вбейте все переменные в одну строку. (и чтоб никаких пробелов)

poz=3&cons=1241&str1=Hello&str2=&str3=Please


Это же практически урл-строка

а за это

set("_root.st"+b,eval("this.str1"+b));

руки оторвать.

Вот так пишем, (AS3.0 на дворе, а вы все просроченными методами пользуетесь)

_root["st"+b] = this["str"+b];

CorC
07.02.2007, 16:38
var data_lv=new LoadVars();
data_lv.load("inform.txt");
data_lv.onLoad=function(success){
if(success){
_root.p1=parseInt(this.poz);
_root.c1=parseInt(this.cons);
for(b=1; b<=_root.p1; b++){
_root["st"+b]=this["str"+b];
}
MyTRACE();
}
}
function MyTRACE(){
trace(p1);
trace(c1);
trace(st1);
trace(st2);
trace(st3);
}
stop();

а вне "блока" trace не работало потому что
файл не успел загрузиться, а вы уже
пытаетесь с него показания снять

FEBRA
09.02.2007, 09:46
bbexp спасибки тебе большое, так оно и оеазалось)) теперь все как должно быть!
..правда после, я в строки попробовал забить теги <font=..>.. вот, они раньше в TextArea правильно отображались. Но в рассматриваемом случае, если поставить галочку "render text as HTML" в свойствах моего текстового окна, то текста вообще не видно почемуто?

Clode
09.02.2007, 09:54
А ты какое свойство для присваивания использовал ... htmlText я надеюсь)