Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Переменные из текстового файла (http://www.flasher.ru/forum/showthread.php?t=91746)

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 я надеюсь)


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

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