2013-01-13 37 views
2

我有6個包含文字的txt文件,每個文件都放在一個新行中,讀取並處理到它們各自的數組中。下面的代碼適用於前5個數組,但不是最後的略有不同。AS3:我的文本文件不想像所有其他文件一樣加載到數組中

var loadFavourites: URLLoader = new URLLoader();; 
    var arFavourites = new Array(); 
    loadFavourites.load(new URLRequest("Lists/Favourites.txt")); 
    loadFavourites.addEventListener(Event.COMPLETE, onLoadedFavourites); 
    function onLoadedFavourites(e6:Event):void { 
     arFavourites = e6.target.data.split("\r\n");} 

我以完全相同的方式加載它,但沒有運氣。如果我跟蹤arFavourites.length它會給我0.我只需要它將每5個值加載到一個數據網格。

var iC:int=0; 
var iX:int=0; 

while (!iX==arFavourites.length-1) 
{ 
    trace(iX); 
    if (iC == 5) { 
     dg.addItem({Place: arFavourites[iX-4],Subject:arFavourites[iX-3],Object:arFavourites[iX-2],Feeling:arFavourites[iX-1],Action:arFavourites[iX]}); 
     iC=0; 
    } else { 
     iC++; 
     trace(iC); 
    } 
    iX++; 
} 

非常感謝您的幫助!

+0

給出第六個文件(不起作用,鏈接到此文件)和一個正常工作的文件的示例。 – fsbmain

+0

我試圖使用完全相同的文件來排除文件內容成爲問題的可能性。該列表的格式是這樣的: Apple 梨 葡萄 等..每一個新行上沒有空格 – 4t0m1c

+0

我明白,這是一個愚蠢的問題,但沒有問:你從Event.COMPLETE處理程序調用第二個代碼段在你填充arFavourites數組之後? – kostik

回答

1

嘗試做這樣的事情,而不是:

Favourites.txt:

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 

代碼:

var loadFavourites: URLLoader = new URLLoader();; 
var favouritesArray = new Array(); 

loadFavourites.addEventListener(Event.COMPLETE, onLoadedFavourites); 
loadFavourites.load(new URLRequest("Favourites.txt")); 

function onLoadedFavourites(event:Event):void 
{ 
    favouritesArray = event.target.data.split("\r\n"); 

    for (var i:int = 0; i <= favouritesArray.length; i++) 
    { 
     if (i != 0 && i % 5 == 0) 
     { 
      trace(i - 4, i - 3, i - 2, i - 1, i); 
     } 
    } 
} 

輸出:

1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 
+0

你GENIUS^_ ^它的工作原理!謝謝soooooooooo多少人!如果你不介意,你可以解釋一下這個「(i!= 0 && i%5 == 0)」快速.. – 4t0m1c

+0

不客氣。 for循環循環遍歷數組的每個索引。 Modulus運算符'%',如'i%5 == 0',用於知道索引何時到達每個第5個元素。該條件在索引0處也是如此,但我們希望忽略該索引,所以我們包括'i!= 0'。更多關於模運營商的信息請見:http://en.wikipedia.org/wiki/Modulo_operation – TheDarkIn1978

+0

非常感謝,只是爲了100%正確的答案。在追蹤中,它需要從-5開始,而不是-4 – 4t0m1c

相關問題