AutoHotkey - 遍历列表并在每次迭代之间发送命令以进行数据输入

时间:2017-04-11 19:15:36

标签: autohotkey

我试图在AHK中使用数组/列表进行某些数据输入,但无法弄清楚如何正确迭代。我从一个类似的问题得到了这个代码,我一直在尝试:

^!G::

VarX=
(
48306237
48306642
48303423
48303612
48303797
)

loop, parse, VarX, \`n,`r
{
    Send, %VarX%
    Send, The next item in the list is
    return
}

return

这确实遍历列表,但我无法在其间发送命令。

目前,这是我得到的输出:

48306237
48306642
48303423
48303612
48303797the next item in the list is

我怎样才能使输出如下?

48306237
the next item in the list is
48306642
the next item in the list is
48303423
the next item in the list is
48303612
the next item in the list is
48303797
the next item in the list is

感谢您阅读

没有添加功能的解决方案:

VarX=
(
48306237
48306642
48303423
48303612
48303797
)

loop, parse, VarX, `n,`r
{
    SendInput, %A_LoopField%{Enter}
    Send, wait {Enter}
    Sleep, 2000
    Send, OK {Enter} 
}
return

1 个答案:

答案 0 :(得分:1)

当您使用Loop, parse时,您要查找的循环内的值为A_Loopfield。如果代码变得过于复杂,那么创建单独的函数来清理代码也很有用。以下是正确的示例用法:

VarX=
(
48306237
48306642
48303423
48303612
48303797
)

loop, parse, VarX, \`n,`r
    HandleItem(A_Loopfield)

HandleItem(value)
{
    SendInput % "Item Content: " . value . "`n"
}