ActionScript 3.0 :: Parsing .txt File To Two Dimensional Array?
Nov 14, 2011
I am trying to parse data from a user created .txt file and convert it into an Array. This data will eventually be used to output an .xml file or to generate html. The user has no experience or knowledge of XML otherwise there would be no need for this post, I would just parse XML. The data will be set up as a group of items (term and definition, question and answer as well as a type to determine the attributes of the item) like so:
1. How many licks does it take to get to the center of a tootsie pop?
a. The world may never know.
t. ML
2. What is the square root of 69?
a. 8 something.
t. SA
I am currently able to allow a user to have an Open Dialog box to open a local .txt file from their computer. I am also able to read the data and trace it via actionscript. I cannot however split the data where I want to into an array. I cannot use '' to split at as the data from the .txt file may sometimes be multi-line for the question or answer.
So I need to be able to; a) split on a number with a . and a space (eg. '1. ') b) split on a-e with a . and a space (eg. 'a. ') and c) split on 't. '.
Here is the relevant code I have so far:
ActionScript Code:
import flash.text.*;
import flash.net.FileReference;
var tf:TextField = new TextField();
[Code]....
I was just trying to hardcode a couple things like splitting on 'a. ' and 't. ' but it only does one split, whichever comes last.
i'm still transitioning from as2 to as3, i'm having trouble with parsing XML data to Multi dimensional array, below is the onComplete handler which is succesfully tracing 'event.target.data' but outputs 'A term is undefined and has no properties' when tracing _vein_data[0][0].xPos. I'm guessing there is a easier way to approach it than this attempt
I'm simply looking to convert the data in a CSV file into a 2-dimensional array (columns, rows, like so: data[row][column]).However, the parsing must take into account double quotes with commas inside.For instance, a sample of the data of 3 rows of 3 columns:
It's got to correctly drop the quotes around the data in the first column, but also understand that the comma within is not delimiting. Everything I've seen so far does not seem to be able to do this.
have a twodimensional array that consists of 6 other arrays(like array[0 to 5][0 to 4]). The [4] of each sub-array is a indexnumber that i'd like to use for sorting the array[0][x] toarray[5][x] according to their array[x][4]-value. How would I do
I have been working on this flash project for some time now. it is a calender program, one week at a time. (see the screencapture). My problem right now is that i am trying to load data into flash from a database as a two diminsional array. currently i have a two diminsional array in flash named num. num holds values for the color of each box: for example num[2][0] holds a number (1-8, each corresponding with a color) for the first box in moday for employee 3. How would i parse information so that the arrays can be filled with data from a text or asp file (MIME format). I tried to do this: num[0][0]=2&num[1][2]but it didnt work.
Images I am loading from XML are associated with the right record on first load but then on refresh they swap places.I am loading XML and creating arrays.Then I pass the array data to objects using loop functions.the AS counts how many books there are in total then and creates the objects and passes informations regarding each book into the individual objects.when I trace the array data just before starting the loop function I get a good consistent read:[code]
I found the tutorial about getting the index of something in an array, but i need the same for a twodimensional array, so i get [0][1] for example. How do i alter this code to do so?
Code: Array.prototype.getIndex = function(data) { for (i=0; f=0; i<this.length; ++i; ) { if (this[i] == data) {
I want to write a function which has 2 dimensional array as one of its arguments _global.getList = function ( type:Number, list[]:Array )
This is giving syntax error, if I do _global.getList = function ( type:Number, list:Array ) Then there is no error, but then, list is now, single dimensional array, which I don't want. Whats the correct syntax to write it as two dimensional array?
I am currently working on a tile based game in Flash, so im working with a two dimensional Array containing the data for the map the player can jump around in. The script is already able to find all the groups within the Array. In the following example Array it groups the left ones and the right using the zero tiles to divide them:
[1,1,0,0], [1,0,0,1], [1,0,0,1], [1,0,1,1]
I am already able to get the corners of the groups, but still they are not in the correct order. As well some corners exist twice.
get the corners in the correct order and how to get rid of the doubles?
To line up with my multi-dimensional data array, I would like to create and display textfields. I was hoping to do this in a multi-dimensional textArray however flash does not seem to like it and I am getting a #1010 error. Here is the code I have:
ActionScript Code: var textArray:Array = new Array(); createTextFields();
I am currently poulating a Flash production for a client with XML generated data, simply so that I can give my client a piece of work which they themselves can update easily. The problem comes from the fact that I could have quite a lot of information hanging around in the form of a multi dimensional array structure where the XML data will be placed after parsing.Ideally I would like the ability to create a delimited Multi-dimensional array, which can dynamically update it's size, without me having to declare an array of 32000 cells each time, which could waste system resources to a stupid proportion.I have tried:-
Code: _global.myArray = new Array(); but it didn't seem to initialise the array unfortunately....
I'm having a big problem with my tile-based game. I create tiles based on a 2 dimensional array. Each tile is a Movie Clip, created using attachMovie. The problem is that when there are many of these tiles, the game lags, because so many properties must be stored for each MC. Is there a better method for creating "tiles" than attachMovie, or a way to free the memory used for each one?
i do have problem with searching through my multi-dimensional Array to insert newly value to currently existing value..here's the scenario...what I have now....
Code: var someArr:Array = new Array(["apple"],["orange"],["watermelon"]);
so what I wanna do is I able to search the desire valeu 1st and append to existing value eg;
word search = apple
match and I can append new value to this particulars array and my expecting result
new array after append new value
Code: var someArr:Array = new Array(["apple","expensive"],["orange"],["watermelon"]);
I'm using a multi-dimensional array (openImage[]) to track the open images in my multi-dimensional array (Images[]).
I would like to check and see if an element in a multi-dimensional array exists before I access it because there are rare occurrences where the data in openImage[] is not valid. I keep on getting errors every way I've tried it.[code]...
I have a question regarding the use of mouse clicks events in a multi-dimensional array (or a "2D" array as we refer to them in Java and C++).
Background
I have an array of objects each with a corresponding mouse click event. Each object is stored at a location ranging from [0][0] to [5][8] (hence a 9 x 6 grid) and has the specific column and row number associated with it as well (i.e. tile [2][4] has a row number of 2 and a column number of 4, even though it is on the third row, fifth column). Upon each mouse click, the tile that is selected is stored in a temporary array. The array is cleared if a tile is clicked that does not share a column or row value equal to, minus or plus 1 with the currently targeted tile (i.e. clicking tile [1][1] will clear the array if there aren't any tiles stored that have the row/column number
or any contiguous column/row with another tile stored in the array, meaning that the newly clicked tile only needs to be sharing a border with one of the tiles in the temp array but not necessarily with the last tile stored).
Question
What is a clean, tidy way of programming this in AS3? Here are a couple portions of my code (although the mouse click event isn't finished/working correctly):
I hope this isn't too vague, but I'm stuck on a problem that has put me in an Unfortunate Position. I'm Flash developer getting my feet wet with with AS3 and am trying to build an interior decoration tool for a client. My thinking so far has been: create the basic user interface, get the screen flow down, and then finally use a couple of simple arrays to store user selections and stuff like that.
Naturally my 'couple of simple arrays' is totally inadequate to model the many user decisions that my program has to take into account. So I find myself trying to create an enormous, multi-dimensional array with several layers of nesting and before Panic sets in. Here's an example of my thinking for the 'bedding' component of the application in pseudo ActionScript:
[Code]....
... keep in mind that this is just a fraction of what goes into bedding and there are several other of these kinds of arrays that would go into a room like flooring and walls and funture... all equally complex. And I'll need to frequently access different combinations like, how many options under bedding have no value associated and things like that.
So, I realize I'm out of my league and am going to get hurt on this,My questions are:
1) Could it be that using nested arrays like this actually isn't such a bad thing and I should just stick it out? That would suprise me, but I want to make sure I'm not already on the right path.
2) If not, where do I go from here if I want to do this right?
Off the top of my head I feel like I could maybe make everything class based. So my sheets are a class and beds have instances of sheets and rooms have instances of beds... etc. It think it would be complicated but might be the way to go. Or maybe, I go the XML route and store all of the room options in nested blank XML nodes that a user then populates as they move through the application. These are my thoughts but I'd like to hear what more experienced members of the community say.
I have Visual studio with AS and Flex 4 installed into it. Can someone provide me with simple sample code and a simple xml file (can just be like a=8083&b=8873) and grabbing the data for a and b and putting this into 2 different arrays of size 1 (since its simple).