Я пишу простой графический интерфейс в AutoHotkey, одним из элементов является возможность связать число с меткой кнопки:
Call:
{
book := {"Tel Maison": 8912, "Tel Mobile": 000000}
nr := book[%A_GuiControl%]
MsgBox %A_GuiControl% - number: %nr%
}
CapsLock::
Gui, Add, Button, gCall, Tel Maison
Gui, Add, Button, gCall, Tel Mobile
Gui, Show
При запуске этого скрипта я получаю при нажатии кнопки сообщение об ошибке (Следующее имя переменной содержит недопустимый символ: "Tel Maison"), указывающее на
nr := book[%A_GuiControl%]
Я считаю, что это связано с пробелом в имени метки.
В1: нельзя ли использовать хеш-ключи с пробелом?
Я изменил скрипт на
Call:
{
book := {"TelMaison": 8912, "TelMobile": 000000}
nr := book[%A_GuiControl%]
MsgBox %A_GuiControl% - number: %nr%
}
CapsLock::
Gui, Add, Button, gCall, TelMaison
Gui, Add, Button, gCall, TelMobile
Gui, Show
Теперь он работает, но переменная nr
пуста.
Вопрос 2. Метка передается через A_GuiControl
в виде строки, верно? Если да, то почему нет совпадения с ключом в приведенном выше примере?
Я также пытался использовать book := {TelMaison: 8912, TelMobile: 000000}
, но результат тот же