Gavin Jones
Gavin Jones

Reputation: 37

ActionScript String Concatenation in for loop

So I am struggling with loops.

I have a mobile app with dynamic controls that I add from a sqlite database, it is a list of questions and based on the question type, I add the relevant type of control to the page along with the question, this all works fine.

I then loop through all the controls looking for answers, so I can loop through 60 quesitons and return the values from the relevant textboxes, checkboxes and toggle switches.

The for loop runs like this

                               if (displayObject is DisplayObjectContainer && currentDepth < maxDepth)
            {  

                for (var i:int = 0; i < DisplayObjectContainer(displayObject).numChildren; i++)

                {
                    traceDisplayList(DisplayObjectContainer(displayObject).getChildAt(i), maxDepth, skipClass, levelSpace + "    ", currentDepth + 1);
                    if (displayObject is TextInput  ||displayObject is CheckBox || displayObject is Label || displayObject is ToggleSwitch )
                    {
                        if(displayObject["id"] =="QuestionText"&& (i==0))
                        {
                            if(displayObject["text"] != null)
                            {
                                questionString= (displayObject["text"]);
                                trace ("Question: " +  questionString); 
                            }
                        }
                        else if (displayObject["id"] == "QuestionResponse")
                        {
                            if(displayObject["text"] != null)
                            {
                                answerString = (displayObject["text"]);
                                trace ("Answer: " + answerString);
                            }
                        }
                        else if  (displayObject["id"]== "CheckboxResult")
                        {
                            if(displayObject["selected"] != null)
                            {
                                checkboxAnswer = (displayObject["selected"]);
                                trace ("Check / Toggle: " + checkboxAnswer);
                            }
                        }
                    }   

                }
            } 

My question is, the results I get back look like this;

questionstring value
answerstring value
checkbox value

what I want is

questionstring value, answerstring value, checkbox value

I cannot for the life of me see how I get these values into 1 row.

Any tips appreciated

Upvotes: 0

Views: 259

Answers (1)

RustyH
RustyH

Reputation: 482

Trace just prints info to the console mainly for debugging if you really want all of that on one line in the console you just need to create a string and then add "Question: " + questionString + " Answer: " + answerString + " Check / Toggle: " + checkboxAnswer to the string after you have found them all and then call trace with your string you made. something like this

                    var mystring:String
                    mystring="";
                    if(displayObject["id"] =="QuestionText"&& (i==0))
                    {
                        if(displayObject["text"] != null)
                        {
                            questionString= (displayObject["text"]);
                            mystring += "Question: " +  questionString; 
                        }
                    }
                    else if (displayObject["id"] == "QuestionResponse")
                    {
                        if(displayObject["text"] != null)
                        {
                            answerString = (displayObject["text"]);
                            mystring += "Answer: " + answerString;
                        }
                    }
                    else if  (displayObject["id"]== "CheckboxResult")
                    {
                        if(displayObject["selected"] != null)
                        {
                            checkboxAnswer = (displayObject["selected"]);
                            mystring += "Check / Toggle: " + checkboxAnswer;
                        }
                    }
                    trace(mystring);

Upvotes: 2

Related Questions