Я использовал части вашего кода для тестирования (показано внизу).
Правильный способ сохранения элемента вашего массива ("Light") в вашей переменной ("Sender") выглядит следующим образом Sender := Light[A_Index]
.
В вашей петле также есть опечатка;это должно быть Loop , % Light.Length()
(добавленная запятая не обязательна, но мне нравится для согласованности).Я полагаю, что опечатка может быть причиной того, что вы ничего не увидите.
(Это не проблема, но может сделать ваш код более кратким.) Существуют и другие способы использования данных.Один из вариантов - просто отправить элемент массива напрямую, например, Send , % Light[A_Index]
.Другой вариант может заключаться в использовании цикла for.Вот пример, основанный на вашем коде:
^3::
Light := ["F0281", "F0282", "F0283", "F0284", "F0285", "F0286", "F0287", "F0288"] ; Define Array
For x In Light
{
Send , % Light[x] . "{enter}"
Sleep , 100
}
Return
Код (рабочий), используемый для тестирования:
^2::
Light := ["F0281", "F0282", "F0283", "F0284", "F0285", "F0286", "F0287", "F0288"] ; Define Array
Loop , % Light.Length() ; Send Array to HTerm and Protocol with notepad via Loop
{
Sender := Light[A_Index]
Send , %Sender%
Send , {Enter}
Sleep , 100
}
Return