-
Ok, first of all I'd like to introduce myself really quick. I've been looking around and think this is a great site for some time now, finally registered because I had a question that has stumped me. I just started learning ActionScript a couple days ago and have made some great progress (it's easy for me to pick up as I've been doing PHP for some time now and the syntax is quite similar in some parts.)
Now, on to my question:
I'm loading variables from an ASCII file in the same directory (on a computer, this is an .exe application.) Now the file loads fine, but what I'm trying to do is use arrays in the text file. Here's the context of my text file:
Code:
&servers=1
&server[1]=http://www.agigagames.com/YaPP/
&servername[1]=Testing server
&loading=NO
My code for loading the file:
Code:
loading = "YES";
loadVariablesNum("servers.yafc", 0);
The problem is in the next bit of code, I can't get it to add the item to the listbox. It adds an item, but all that's there is a , yet I've tried putting in a dynamic text box with the var of servername[1] and it displayed fine.
Code:
n = 1;
while (n <= servers) {
serverslist.addItem(servername[n],server[n]);
n++
}
stop();
I appreciate any responses, thanks!
-
Senior Member
Yeah, you can't store arrays in a text file. In yours, it reads the variable as server[1], it doesn't regard it as part of an array. You have to try doing it like this
server=myserver1|myserver2|myserver3
then in Flash
myArray = server.split("|");
then you'll have an proper array in Flash
myArray[0] will equal myserver1
myArray[1] will equal myserver2
etc
Hope this helps,
Chi
-
Thanks!
Oh I see, didn't think of the | method (I'm used to using databases, not having to split up information in a text file.)
I'll give it a shot, thanks so much!
-
Worked, but still haveing some problems
Ok, that worked great (thanks again! ) but I still have one minor problem. It doesn't seem to be reading the first variable from the ASCII file (which is now server_num) because unless I manually set that variable in that actionscript, it freezes on the loop. If I set it to the same thing that it's in the (or something different) it works fine, so it's not my loop. The loading functions stayed the same, but I changed the loop and text file (it was freezing before I changed it to what you said.)
Text file:
Code:
&server_num=2
&servers=http://www.agigagames.com/YaPP/|http://yapp.phpworld.net/YaFC/
&servernames=Testing server|Second testing server
&loading=NO
Loop:
Code:
n = 0;
fservers = servers.split("|");
fservernames = servernames.split("|");
while (n <= (server_num-1)) {
serverslist.addItem(fservernames[n],fservers[n]);
n++
}
stop();
-
Senior Member
Hmm, try it as
server_num=2
&servers=http://www.agigagames.com/YaPP/|http://yapp.phpworld.net/YaFC/
take the first ampersand out
-
Already tried that, didn't work (will try again though.)
Trying....
Nope, didnt work.
Thanks for all the help,
Jedi~
-
Senior Member
Oh, try
while (n <= (parseInt(server_num)-1)) {
-
Senior Member
Also, with your structure as it is, you don't have a need for a counter, you can use
while (n <= (fservers.length - 1)) {
-
That worked, and I learned a new thing with each of those posts, thanks very much man! Now I only wish the creativity I used to have for design/animation with Flash would come back to me
Thanks a lot,
Jedi~
[Edited by Rogue Jedi~ on 07-05-2002 at 04:19 PM]
-
One more
Ok, I have one more question, this time about the change event on the list box.
I have it set to this function, but the dynamic text box selServerName won't seem to change.
Code:
function changeServer() {
server = serverslist.getSelectedItem().data;
_global.selServerName = serverslist.getSelectedItem().label;
checker = server.substr(-3);
if (checker != ".php") {
_global.server = server + "YaFC.php";
}
}
Any ideas?
-
Senior Member
If selServerName is a text box, you need to go _global.selServerName.text = serverslist.getSelectedItem().label;
if it's the variable of the text box it should be ok...
-
It's the var associated with the text box, but I'll try using the instance name and your method instead.
Trys...
Didn't work either :-\
-
After doing a couple tests I think I determined the cause of the problem, but I don't know how to fix it.
I determined that the function was indeed being run by using this in the function:
Code:
serverslist.addItem("test","test");
When an item was seleted, it did indeed add the item test.
Then I determined that the problem is that the variable isn't going out of the function (I'm pretty sure that's the problem anyways, I tried using this in the function and it didn't change:
Code:
_global.selServerName = "test";
-
Senior Member
I think it's the global thats causing the problem. If you reference the variable or text box using _root or _parents it'll probably work. I'm not quite sure what the deal is with _global, I've never had to use it, whether it involves some declarations or something I don't know..
-
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|