Добрый день! Программирую приложение в котором много кнопок и полей ввода. На разных стадиях программы мне нужно отключать разные групы этих елементов. Придумал использовать битовую маску:
Но тогда я жестко привязан к не удобным названиям этих елементов.($L1,$L8,$L128...)
Помогите с написанием функционала, что бы я мог также удобно отключать групы елементов, но с "удобными" названиями переменных.
Код:
#include <GUIConstantsEx.au3>
Dim $bits[9] = [1,2,4,8,16,32,64,128,256]
GUICreate(":)", 165, 165, 250, 250, -1)
$L1 = GUICtrlCreateButton("1", 20, 20, 40, 40)
$L2 = GUICtrlCreateButton("2", 60, 20, 40, 40)
$L4 = GUICtrlCreateButton("4", 100, 20, 40, 40)
$L8 = GUICtrlCreateButton("8", 20, 60, 40, 40)
$L16 = GUICtrlCreateButton("16", 60, 60, 40, 40)
$L32 = GUICtrlCreateButton("32", 100, 60, 40, 40)
$L64 = GUICtrlCreateButton("64", 20, 100, 40, 40)
$L128 = GUICtrlCreateButton("128", 60, 100, 40, 40)
$L256 = GUICtrlCreateButton("256", 100, 100, 40, 40)
GUISetState()
$Answer = InputBox("Disable", "Введите суму чисел, нарисованых на кнопках, что бы выключить их.", "", "", -1, -1, 430, 250)
Disable($Answer)
Func Disable($var)
For $i = 0 To 8
If BitAND($var,$bits[$i]) > 0 Then
GUICtrlSetState(Eval('L'&$bits[$i]), $GUI_DISABLE)
Endif
Next
EndFunc
While GUIGetMsg() <> -3
WEnd
Но тогда я жестко привязан к не удобным названиям этих елементов.($L1,$L8,$L128...)
Помогите с написанием функционала, что бы я мог также удобно отключать групы елементов, но с "удобными" названиями переменных.