PDA

Просмотр полной версии : Разъясните про LoadVars ()


lovefish
19.05.2004, 13:26
Помогите пожалуйста понять....
Вопрос такой: есть текстовый файл. Там данные вида
name=value&a=15
name=value2&a=43
и т.д.

Каким образом можно при помощи Loadvars() выбирать значения этих самых value? Когда всего одна строка в текстовом файле, он выбирает без проблем. А когда несколько, он берет наверное из последней строки. Вообще можно ли каким нибудь образом текстовый файл такого вида загнать во Флэшовый массив?

Может это и очевидно, только я плохо знаю флэш....:(

mishinaelle
19.05.2004, 13:46
number=2&name1=value&a1=15&name2=value2&a2=43

пусть это файл text.txt

загрузим, например в мувик Movie_mc:

Movie_mc.onLoad=function(){
_root.myArr=new Array();
for(i=1; i<=this['number']; i++){
_root.myArr[i]=new Object();
_root.myArr[i].name=this['name'+i];
_root.myArr[i].value=this['value'+i];
}
}

Movie_mc.loadVariables("text.txt");

//а вот теперь делаем с _root.myArr что хрчешь


скрипт не проверяла - возможны опечатки

Lego
19.05.2004, 13:49
lv = new LoadVars(); //создаем объект
lv.load("tvoy_text.txt"); // говорим, что загружать
lv.onLoad = function(success) // пытаемся загружать
{
if (success)
{
trace(lv.name);
trace(lv.a);
trace(lv.name1);
trace(lv.a1);
}
else trace("???!!!");
}

Единственно, если я не ошибаюсь, данные в тексте должны храниться где-то так:

name=value&a=15&
name1=value2&a1=43

Вот попробуй. Должно получиться. Сам только разобрался

lovefish
19.05.2004, 16:39
Спасибо большое! С этим вроде бы все понятно.... А вот можно ли такой массив потом как нибудь в comboBox загнать?

mishinaelle
19.05.2004, 16:47
для MX:
если в моем примере прописать вместо
_root.myArr[i].name=this['name'+i];
_root.myArr[i].value=this['value'+i];

_root.myArr[i].label=this['name'+i];
_root.myArr[i].data=this['value'+i];

то потом можно написать

comboBox_obj.setDataProvider(_root.myArr);

mishinaelle
19.05.2004, 16:49
наверное, даже правильнее вот так написать в цикле:

var myItem=new Object();
myItem.name=this['name'+i];
myItem.value=this['value'+i];
_root.myArr[i]=myItem;