-
extracting var not value from .txt
how can I just extract the variable names not the value of the variables.
Code:
loadArr("arr.txt");
function LoadArr(file) {
arr_obj = new LoadVars();
arr_obj.load(file);
arr_obj.onLoad = function(success) {
if (success) {
variables = arr_obj;
trace("variables :"+variables);
} else {
trace("not loaded");
}
};
}
The txt file has
Code:
allDresses=dominique,larissa,francesca,octavia,simone,adriana,adriana2
&larissa_ds=pic0,pic1,pic2,pic3,pic4,pic5
&dominique_ds=pic0,pic1,pic2
The output windon gives me this but I just want to extract the variable names
Code:
variables :dominique%5Fds=pic0%2Cpic1%2Cpic2&larissa%5Fds=pic0%2Cpic1%2Cpic2%2Cpic3%2Cpic4%2Cpic5%0D%0A%0D%0A&allDresses=dominique%2Clarissa%2Cfrancesca%2Coctavia%2Csimone%2Cadriana%2Cadriana2%0D%0A%0D%0A&onLoad=%5Btype%20Function%5D
Thanks in advance
-
Product Designer
Well, let's try this..but I'm not sure...
In fact, what happens when you load the variables...
You create a series of objects, or properties within the LoadVars object...
Now, you could parse the return string...
This means that you have to manually extract the variables from the string that is returned from the LoadVars object...
I'll code it for ya now.
Altruism does not exist. Sustainability must be made profitable.
-
Keyone...
As long as you doing that, why not do it for this chap...
http://www.flashkit.com/board/showth...hreadid=431021
-
Product Designer
Ok, the quickest trik I got to is the following, it's simple and it works, but there is only one RULE or LIMITATION: you must use a character to IDENTIFY VARIABLE NAMES, a character that you will use ONLY FOR THAT PURPOSE and nowhere else in the text file.
In my example I used the following char: "_".
Here is the Actionscript (the only things you must adjust within it is the "ID" value, which must be the same as the character you choose, and the URL to the text file...):
PHP Code:
ID = escape("_");
show_ID = true;
myBuffer = new LoadVars();
myBuffer.onLoad = function(success) {
if (success) {
outputArray = new Array();
var fullVariableString = myBuffer.toString();
var fullVariableArray = fullVariableString.split(ID);
for (var i=0; i<fullVariableArray.length; i++) {
var tempItem = fullVariableArray[i];
var tempItemArray = tempItem.split("=");
var tempItemValue = tempItemArray[1];
tempItemValue = tempItemValue.split("&");
tempItemArray[1] = unescape(tempItemValue[0]);
if (tempItemArray[0].length) {
outputArray.push({label: tempItemArray[0], value: tempItemArray[1]});
}
}
visualizeVariables(show_ID);
}
};
myBuffer.load("index.txt");
function visualizeVariables(add_ID) {
output = "Listing variables loaded into \"myBuffer\" from \"index.txt\"" + newline;
output += "BEGIN OF LIST ############################" + newline;
for (var i=0; i<outputArray.length; i++) {
output += "Variable no. " + (i+1) + ": ";
if (add_ID) {
output += "\"" + unescape(ID);
} else {
output += "\"";
}
output += outputArray[i]["label"] + "\", with value: \"" + outputArray[i]["value"] + "\"" + newline;
}
output += "END OF LIST ##############################" + newline;
output += "Total variables = " + i + ";";
trace(output);
}
for the text file there is no explanation (you should already know how to encode it...
Any way this is the text I used for my example:
PHP Code:
_myName=Ascanio&_mySurname=Colonna&_myAge=22&_myCar=Polo&
Hope this helps!
Altruism does not exist. Sustainability must be made profitable.
-
Wow sh*it I just got in and saw this. I need to go to bed and wake up with a clear head, to understand this.
I really thought this was a simple issue of extracting the variable name. This is pretty extreme.
But thanks so much for this. You really put some serious effort in to this and I am grateful but I really never thought it would be this hard to get 4 variables out of a load object.
I will spend some time to break it down and try and figure it out.
-
Product Designer
Don't worry bro, the .onLoad function is the only interesting part of it.
Actually I though about making something like this a long time ago, so that I could use textfiles 100% dynamically to generate the database for my PictureViewer..
I really hope this can solve your problem!
G night.
Altruism does not exist. Sustainability must be made profitable.
-
Hi keyone.it I have been going through your code and there is one thing I can't seem to understand why it was used and that is the escape("_") and then the unecape();
Also I tried to
Code:
trace(outputArray.push({label:tempItemArray[0], value:tempItemArray[1]}));
just to see how it is using this set up or just to get a visual of what this was doing it gave me.
if I trace(outputArray);
I get this
Code:
[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object]
can you explain this and what object is going into which.
One other thing I had to declare an outputArray(); as a new Array()
before it would work.
Thanks again
-
anyone
I can't really doing anything more with this info unless I can understand it.
Thanks
-
Just for the fun of it:
Code:
LoadVars.prototype.makeVars = function() {
this._variables = new Array();
this._values = new Array();
var _pairs = this.toString().split("&");
for (something in _pairs) {
thisSomething = _pairs[something].split("=")[0];
thisValue = _pairs[something].split("=")[1];
if (thisSomething != "onLoad" && thisSomething != "makeVars" &&
thisSomething != "%5Fvariables" && thisSomething != "%5Fvalues") {
this._variables.push(thisSomething);
this._values.push(thisValue);
}
}
return this._variables;
};
-
Quick Test:
Code:
_loadvars = new LoadVars();
_loadvars.onLoad = function() {
trace(this.makeVars());
_loadvars.load("test.txt");
_loadvars._variables list your variables
_loadvars._values list your values
Last edited by gSOLO_01; 03-11-2003 at 01:28 PM.
-
Product Designer
The reason why you get the "object object object..." output is because of the actual workings of that kind of array, which is not actually an array, but just a normal object with a series of arrays within it (so the "string" value will be to call the array, and the number value will be to call the item within it - myArray["label"][0]).
Hope I described the thing in a simple way..
Cheers!
Altruism does not exist. Sustainability must be made profitable.
-
Thanks for the explanation. I also wondered why the escape and unescape was used. Thanks again
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
|