Autohotkey 在AHK脚本中处理循环

Autohotkey 在AHK脚本中处理循环,autohotkey,Autohotkey,我一直在想-在ahk脚本中处理循环的最佳方法是什么 例如,而不是: ; Collect results 1 Sleep 1000 Addr1 := IE.document.getElementsByClassName("name")[0].innertext String_Object := StrSplit(addr1, "`,") If (Substr(Addr1, 1, 2) = "MK") { Addr1 := String_Object[2] . "," . Trim(String_O

我一直在想-在ahk脚本中处理循环的最佳方法是什么

例如,而不是:

; Collect results 1
Sleep 1000
Addr1 := IE.document.getElementsByClassName("name")[0].innertext
String_Object := StrSplit(addr1, "`,")
If (Substr(Addr1, 1, 2) = "MK")
{
Addr1 := String_Object[2] . "," . Trim(String_Object[3]) . "," . PostCode
MsgBox, %Addr1%
}
Else
{
Addr1 := String_Object[1] . "," . Trim(String_Object[2]) . "," . PostCode
MsgBox, %Addr1%
}


; Collect results 2
Sleep 1000
Addr2 := IE.document.getElementsByClassName("name")[1].innertext
String_Object := StrSplit(addr2, "`,")
If (Substr(Addr2, 1, 2) = "MK")
{
Addr2 := String_Object[2] . "," . Trim(String_Object[3]) . "," . PostCode
MsgBox, %Addr2%
}
Else
{
Addr2 := String_Object[1] . "," . Trim(String_Object[2]) . "," . PostCode
MsgBox, %Addr2%
}
我想这样做(注意这是伪代码):

j=0
i=1

而(i我想你要找的是循环和A_索引

_索引自动跟踪其所在循环的当前循环迭代;它对其循环是唯一的,嵌套循环将跟踪其自己的A_索引。对于一个简单的示例,请尝试以下代码:

Loop, 3
{
    MsgBox, Outer-loop %A_Index%
    Loop, 3
    {
        MsgBox, Inner-loop %A_Index%
    }
}
根据您的伪代码,您将看到以下内容:

Loop, 5
{
    Sleep 1000
    Addr[A_Index] := IE.document.getElementsByClassName("name")[A_Index - 1].innertext
    String_Object := StrSplit(addr[A_Index], "`,")
    If (Substr(Addr[A_Index], 1, 2) = "MK")
    {
        Addr[A_Index] := String_Object[2] . "," . Trim(String_Object[3]) . "," . PostCode
        MsgBox, %Addr[A_Index]%
    }
    Else
    {
        Addr[A_Index] := String_Object[1] . "," . Trim(String_Object[2]) . "," . PostCode
        MsgBox, %Addr[A_Index]%
    }
}

我想你要找的是循环和索引

_索引自动跟踪其所在循环的当前循环迭代;它对其循环是唯一的,嵌套循环将跟踪其自己的A_索引。对于一个简单的示例,请尝试以下代码:

Loop, 3
{
    MsgBox, Outer-loop %A_Index%
    Loop, 3
    {
        MsgBox, Inner-loop %A_Index%
    }
}
根据您的伪代码,您将看到以下内容:

Loop, 5
{
    Sleep 1000
    Addr[A_Index] := IE.document.getElementsByClassName("name")[A_Index - 1].innertext
    String_Object := StrSplit(addr[A_Index], "`,")
    If (Substr(Addr[A_Index], 1, 2) = "MK")
    {
        Addr[A_Index] := String_Object[2] . "," . Trim(String_Object[3]) . "," . PostCode
        MsgBox, %Addr[A_Index]%
    }
    Else
    {
        Addr[A_Index] := String_Object[1] . "," . Trim(String_Object[2]) . "," . PostCode
        MsgBox, %Addr[A_Index]%
    }
}

请详细说明(用文字)你试图实现的目标。伪代码并没有真正告诉我任何事情。顺便说一句:你应该认真研究你的变量命名风格。请详细说明(用文字)关于你想要实现的。伪代码并没有告诉我任何东西。顺便说一句:你真的应该改进你的变量命名风格。谢谢,我不知道A_索引自动变量,文档是不可穿透的。+1先生!谢谢,我不知道A_索引自动变量,文档是不可穿透的。+1先生!