2013-07-09 112 views
0

我有一個名爲$urls的數組,它包含URL。我想在For -loop中使用_IENavigate來訪問這些URL中的每一個,但不知道如何使用_IENavigate的數組。將變量值傳遞給_Ienavigate Autoit

這是我到目前爲止有:

If Not _FileReadToArray("\urls.txt", $urls) Then 
    MsgBox(4096, "Error", " Error reading log to Array. Error:" & @error) 
    Exit 
EndIf 

For $u = 1 to $urls[0] 
    _IENavigate($mIE, $urls) 
Next 

回答

1

要訪問數組數N您使用$aArray[N]

Local $aArray[6] = [5, "Hello", "World", "Foo", "Bar", "Goodbye"] 

For $i = 1 To $aArray[0] 
    ConsoleWrite( $aArray[$i] & @LF) 
Next 

因此,在你上面的例子中,你想在For ... Next循環中使用$urls[$u]

1

Mattcorrect。他實際上正在調整你的代碼結構並提供一個工作示例。

只要你沒有對付你的循環內的數組的索引,它的清潔劑不要用數組的大小的第一個元素,然後使用一個For ... In ... loop

For $url In $urls 
    _IENavigate($mIE, $urls) 
Next 

要刪除第一個元素,您可以使用#include <Array.au3>並使用_ArrayDelete($urls, 0)。但是我用的網址文件中讀取,而無需存儲作爲第一要素的大小:

$urls = StringSplit(StringStripCR(FileRead("urls.txt")), @LF, 2) 

- 所以你不必處理的第一個元素,你是通過線已經分手了。您仍然可以使用UBound($urls)來了解成功。

只是一個提示:使用縮進,使您的代碼更具可讀性。