PDA

Просмотр полной версии : [AS2] SharedObject и его переменные


Max Payne
08.08.2005, 00:43
создаю SharedObject
var sol1:SharedObject=SharedObject.getLocal("new","/");
создаю и записываю в него переменные:
sol1.data.name0="Max";
sol1.data.name1="Vano";
sol1.data.name2="Tom";
sol1.data.name3="Vasa";
sol1.flush(); //на всякий случай

как их прочитать в цикле?
Тут на форуме я встерчал похожие темы, но с переменными, там делали так:
1)_root["строка образуящая имя переменной"]
2)this["строка образуящая имя переменной"]
3)var a = "строка образуящая имя переменной";
set(a,"Value");
Но применить это к моему случаю мне не удалось:
1)
for(var i:Number=0;i<4;i++)
{
trace(this["sol1.data.name"+i])
}
2)
for(var i:Number=0;i<4;i++)
{
trace(_root["sol1.data.name"+i]) /*root вродебы только на мувики да на кнопки может указывать*/
}
3)
var a;
for(var i:Number=0;i<4;i++)
{
a = "sol1.data.name"+i;
set(a,"Value");

}
сдесь хоть не читается,а устанавливается значение, но даже оно не работает.

Помогите,а то я просто не знаю, что делать :( .

Max Payne
08.08.2005, 01:03
trace(eval("sol1.data.name"+2));
вот так выводит, но как установить значение?
eval("sol1.data.name"+2)="Bob";
так не работает.

Den0k
08.08.2005, 01:23
попробуй так:


var sol1:SharedObject = SharedObject.getLocal("new", "/");
sol1.data.name0 = "Max";
sol1.data.name1 = "Vano";
sol1.data.name2 = "Tom";
sol1.data.name3 = "Vasa";
sol1.flush();
for (var prop in sol1.data) {
trace(prop+": "+sol1.data[prop]);
sol1.data[prop] = "name";
trace(prop+": "+sol1.data[prop]);
}

iNils
08.08.2005, 12:20
for(var i:Number=0;i<4;i++) {
trace(sol1.data["name"+i])
}