AutoHotKey: доступ к массиву координат
В AutoHotKey я определил глобальный массив как:
tab_index_array := []
Далее в скрипте я вызываю функцию для построения таблицы:
BuildTabIndexArray()
{
global
; coords of each of the 8 selectable tabs on screen
tab_index_array.Push(332,490)
tab_index_array.Push(378,490)
tab_index_array.Push(433,490)
tab_index_array.Push(486,490)
tab_index_array.Push(557,490)
tab_index_array.Push(611,490)
tab_index_array.Push(685,490)
tab_index_array.Push(745,490)
}
Мне это кажется довольно простым, однако, когда я пытаюсь получить доступ к этой таблице, все, что я когда-либо получаю, это пустые (пустые) значения.
ClickTab(which_tab)
{
global
coords_ := []
tab_str := tab_index_array[which_tab]
stringsplit, coords_, tab_str, ","
x_ := coords_[1]
y_ := coords_[2]
SplashTextOn,,, %x_% "`n" %y_%
SetTimer, KillSplashText, -5000
;SetMouseDelay, slow_click_wait_time
;SendEvent {click, %x_%, %y_%}
;SetMouseDelay, click_wait_time
}
Что я делаю неправильно? Все, что я хочу сделать, это взять координаты из массива и передать их в команду SendEvent. Буду очень признателен за любую помощь, так как я борюсь с этим уже некоторое время.
Спасибо,
1 ответ
Так как вы хотите сохранить строку в каждом из полей tab_index_array
нужно поставить в кавычки, вроде
tab_index_array.Push("332,490")
Вызовы функций и определения, которые включают if()
, .push()
, strLen()
и так далее, работают так же, как функции работают и на других языках программирования. Вы можете оставить только кавычки в большинстве команд AutoHotkey, что довольно удобно, но иногда сбивает с толку.
Дополнительную информацию также можно найти по адресу http://ahkscript.org/docs/Variables.htm