2013-07-09 75 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)来了解成功。

只是一个提示:使用缩进,使您的代码更具可读性。