afan
发表于 2012-2-14 00:53:28
本帖最后由 afan 于 2012-2-14 02:46 编辑
回复 30# 魔导
去掉了几个简单又添乱的控件,因为不知道它们是否属于单独的页面…
创建及读取以及数组的概念,可能够研究一阵…
关键是思路,直接影响代码的简洁及执行效率。
Local $aTabItem = , $aCheckbox = [], $iTab = 1
Local $aCkTxt = ['XD<上>', 'XD<下>', 'BT<上>', 'BT<下>', 'ND<上>', 'ND<下>', 'SL<上>', _
'SL<下>', 'DF<上>', 'DF<下>', 'KN<上>', 'KN<下>']
Local $aRdTxt = ['A1', 'A4', 'A7', 'D1', 'D8', 'E1', 'E2', 'NO']
Local $hGui = GUICreate('老板专用>>>调控器 - JS 01', 623, 442)
GUISetBkColor(0xFFFFFF)
Local $tab = GUICtrlCreateTab(5, 5, 390, 370)
For $i = 1 To 8
_CreateTab($i)
Next
GUICtrlCreateTabItem('')
Local $Bt = GUICtrlCreateButton('读取', 500, 355, 100, 22)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $tab
$iTab = GUICtrlRead($msg) + 1
WinSetTitle($hGui, '', '老板专用>>>调控器 - JS 0' & $iTab)
Case $aCheckbox[$iTab] To $aCheckbox[$iTab]
If Not IsInt(($msg - $aCheckbox[$iTab]) / 9) Then ContinueLoop
Local $state = GUICtrlRead($msg)
For $xx = 0 To 7
GUICtrlSetState(Eval($msg & '_' & $xx), Round($state / 2) * 64)
Next
Case $Bt
Local $sInfo = ''
For $j = 1 To 12
If GUICtrlRead($aCheckbox[$j][$iTab]) <> 1 Then ContinueLoop
$sInfo &= $aCkTxt[$j - 1] & ' ===> '
For $xx = 0 To 7
If GUICtrlRead(Eval($aCheckbox[$j][$iTab] & '_' & $xx)) = 1 Then
$sInfo &= $aRdTxt[$xx]
EndIf
Next
$sInfo &= @CRLF
Next
If $sInfo <> '' Then MsgBox(0, 'JS 0' & $iTab, $sInfo)
EndSwitch
WEnd
Func _CreateTab($x)
$aTabItem[$x] = GUICtrlCreateTabItem('JS 0' & $x)
Local $j_x = 32, $j_y = 20, $j_Jy = 30
For $i = 0 To 11
$aCheckbox[$i + 1][$x] = GUICtrlCreateCheckbox($aCkTxt[$i], 10, $j_Jy + $j_y * $i, 70, 15)
GUIStartGroup()
For $ii = 0 To 7
Assign($aCheckbox[$i + 1][$x] & '_' & $ii, GUICtrlCreateRadio($aRdTxt[$ii], _
80 + $j_x * $ii, $j_Jy + $j_y * $i, 30, 17), 2)
GUICtrlSetState(-1, 128)
Next
If Not IsInt($i / 2) Then $j_Jy += 20
Next
EndFunc ;==>_CreateTab
魔导
发表于 2012-2-14 01:14:20
回复 31# afan
非常感谢 超级版主AFAN {:face (209):}
没想到我 怎么多的 被您就61条码解决了 真是不得不佩服啊 {:1_601:}
魔导
发表于 2012-2-14 01:22:57
回复 31# afan
小弟在此发誓 要把这一脚本全部啃(弄到懂)完
待我完成后一定会向超级版主和论坛交出答卷的 {:face (293):}
魔导
发表于 2012-2-14 10:29:11
回复 31# afan
谢谢 超级版主的帮助 我两个码都留下了 用来慢慢研究看看有什么不同的地方{:face (460):}