• ベストアンサー

csv読込

現在 csvファイルからflashにデータを 変数名ansで順番に表示させたいと思っています。 【csvファイル】 &Answer=回答1 回答2 回答3 回答4 調べてもみんな乱数発生させて(Math.floor--)・・・ となっていて順番にとっていくものが見当たりません。 actionscriptをあまり理解していないために やり方がさっぱりわかりません。 ヒント等アドバイスお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mr_araki
  • ベストアンサー率85% (12/14)
回答No.2

&AnswerList=回答1,回答2,回答3,回答4,回答5,回答6 カンマ区切りの文字列を配列にするだけなら AnswerArray = AnswerList.split(','); ※AnswerListをカンマで分割してAnswerArrayに配列として代入

shimapiyo
質問者

お礼

おかげさまでなんとかうごくようになりました。 ご回答ホントありがとうございました。

その他の回答 (1)

  • mr_araki
  • ベストアンサー率85% (12/14)
回答No.1

CSVを扱うのであれば ファイル全体を読み込んでそれを解析した方が良いと思います 以下は下記のリンクを参考に作ってみました http://www.flash-remoting.com/notablog/home.cfm?newsid=68 var csvLoader = new LoadVars(); var theFileObj = new LoadVars(); var theFile = csvLoader.sendAndLoad("test.csv",theFileObj,GET ); var csvRows = new Array(); theFileObj.onData = function(src) { var theFileArray = src.split("\r\n").join("\n").split("\n"); var theFieldNames = theFileArray[0].split(","); var numberOfFields = theFieldNames.length; for(var j=0; j<numberOfFields; j++) { theFieldNames[j] = removeQuotes(theFieldNames[j]); } for(var i=0; i<theFileArray.length; i++) { var tempArray = theFileArray[i].split(","); csvRows.push(tempArray); } trace(csvRows); } function removeQuotes(theString) { if (theString.charAt(0) == '"' || theString.charAt(0) == "'") { return theString.substr(1, theString.length - 2); } else { return theString; } } 変数csvRowsが [   ['A1', 'B1', 'C1'],   ['A2', 'B2', 'C2'], ] のような2重配列になります。 ※test.csvのところを読み込むCSVファイルへリンクさせてください ※文字列の間にカンマが含まれている等、複雑なCSVになると上手く解析しないと思いますので、上記のコードで対応できない場合は 「actionscript csv」とか「javascript csv」とかでCSV解析用のコードを探して 修正してみてください。

shimapiyo
質問者

お礼

早速のご回答ありがとうございました。 これから調べて見ます。ありがとうございました。

shimapiyo
質問者

補足

ありがとうございました。 なんとかデータ読み込むことができました。 あつかましいお願いで恐縮ですが 再度質問させてください。 &AnswerList=回答1,回答2,回答3,回答4,回答5,回答6 と要素を取り出せたのですが これを配列にセットしたいのですが もしよろしければどうすればよいかヒント等 お教えいただければ助かります。 あつかましいお願いですがお答えいただければ幸いです。 ありがとうございました。

関連するQ&A