Есть такой код:
Попытался оптимизировать код и решил имена переменных разместить в параметрах функции:
Create($nCheckbox1, $nOutput1, 10) создается
но почему то не создается:
Create($nCheckbox2, $nOutput2, 40)
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $nCheckbox1, $nCheckbox2, $nCheckbox3, $nCheckbox4, $nCheckbox5
Global $nOutput1, $nOutput2, $nOutput3, $nOutput4, $nOutput5
$hGUI = GUICreate('', 350, 250, -1, -1, -1, $WS_CLIPCHILDREN)
Create1()
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $nCheckbox1
If BitAND(GUICtrlRead($nCheckbox1), $GUI_CHECKED) Then
Create2()
Else
Delete2()
EndIf
Case $nCheckbox2
If BitAND(GUICtrlRead($nCheckbox2), $GUI_CHECKED) Then
Create3()
Else
Delete3()
EndIf
Case $nCheckbox3
If BitAND(GUICtrlRead($nCheckbox3), $GUI_CHECKED) Then
Create4()
Else
Delete4()
EndIf
Case $nCheckbox4
If BitAND(GUICtrlRead($nCheckbox4), $GUI_CHECKED) Then
Create5()
Else
Delete5()
EndIf
EndSwitch
WEnd
Func Create1()
$nCheckbox1 = GUICtrlCreateCheckbox('', 10, 10, 20, 20)
$nOutput1 = GUICtrlCreateInput('', 50, 10, 250, 20)
GUICtrlSetData($nOutput1, "Строка № 1")
EndFunc
Func Create2()
$nCheckbox2 = GUICtrlCreateCheckbox('', 10, 40, 20, 20)
$nOutput2 = GUICtrlCreateInput('', 50, 40, 250, 20)
GUICtrlSetData($nOutput2, "Строка № 2")
EndFunc
Func Delete2()
GUICtrlDelete($nCheckbox2)
GUICtrlDelete($nOutput2)
EndFunc
Func Create3()
$nCheckbox3 = GUICtrlCreateCheckbox('', 10, 70, 20, 20)
$nOutput3 = GUICtrlCreateInput('', 50, 70, 250, 20)
GUICtrlSetData($nOutput3, "Строка № 3")
GUICtrlSetState ($nCheckbox1, $GUI_DISABLE)
EndFunc
Func Delete3()
GUICtrlDelete($nCheckbox3)
GUICtrlDelete($nOutput3)
GUICtrlSetState ($nCheckbox1, $GUI_ENABLE)
EndFunc
Func Create4()
$nCheckbox4 = GUICtrlCreateCheckbox('', 10, 100, 20, 20)
$nOutput4 = GUICtrlCreateInput('', 50, 100, 250, 20)
GUICtrlSetData($nOutput4, "Строка № 4")
GUICtrlSetState ($nCheckbox2, $GUI_DISABLE)
EndFunc
Func Delete4()
GUICtrlDelete($nCheckbox4)
GUICtrlDelete($nOutput4)
GUICtrlSetState ($nCheckbox2, $GUI_ENABLE)
EndFunc
Func Create5()
$nCheckbox5 = GUICtrlCreateCheckbox('', 10, 130, 20, 20)
$nOutput5 = GUICtrlCreateInput('', 50, 130, 250, 20)
GUICtrlSetData($nOutput5, "Строка № 5")
GUICtrlSetState ($nCheckbox3, $GUI_DISABLE)
EndFunc
Func Delete5()
GUICtrlDelete($nCheckbox5)
GUICtrlDelete($nOutput5)
GUICtrlSetState ($nCheckbox3, $GUI_ENABLE)
EndFunc
Попытался оптимизировать код и решил имена переменных разместить в параметрах функции:
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $nCheckbox1, $nCheckbox2, $nCheckbox3, $nCheckbox4, $nCheckbox5
Global $nOutput1, $nOutput2, $nOutput3, $nOutput4, $nOutput5
$hGUI = GUICreate('', 350, 250, -1, -1, -1, $WS_CLIPCHILDREN)
Create($nCheckbox1, $nOutput1, 10)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $nCheckbox1
If BitAND(GUICtrlRead($nCheckbox1), $GUI_CHECKED) Then
Create($nCheckbox2, $nOutput2, 40)
Else
EndIf
EndSwitch
WEnd
Func Create($par1, $par2, $y)
$par1 = GUICtrlCreateCheckbox('', 10, $y, 20, 20)
$par2 = GUICtrlCreateInput('', 50, $y, 250, 20)
GUICtrlSetData($par2, "Строка № 1")
EndFunc
Create($nCheckbox1, $nOutput1, 10) создается
но почему то не создается:
Create($nCheckbox2, $nOutput2, 40)