读书人

高分请问一个有关问题关于数组

发布时间: 2013-06-19 10:26:41 作者: rapoo

高分请教一个问题,关于数组
图2高分请问一个有关问题,关于数组
如图所示,现在有opt1(i) 20个数组控件,正常情况下20个控件都是可以编辑的(opt1(i).Enabled=true),20个控件相连返回结果为true,如图1所示 如果因为其它原因导至其中一个或者多个不可编(opt1(i).Enabled=false),造成数组不相连,这样如何来检测这些数组中有哪些为不可编辑的,并在弹出的Msgbox中指出不可编辑的地方,如图2所示

Option Explicit

Private Function CheckObjPass(objCtrls As Object) As Boolean
' objCtrls ----- 被检查的控件数组
Dim i&, c&, u&, Mask&
u = 0&: Mask = -1&
For i = objCtrls.LBound To objCtrls.UBound
c = objCtrls(i).Enabled
u = ((Mask Xor c) And 1&) + u
Mask = c
Next
CheckObjPass = u < 2&
End Function


'调用示例:
Private Sub Command2_Click()
If (CheckObjPass(opt1)) Then
MsgBox "通过!", 64
Else
MsgBox "错误!", 48
End If
End Sub

读书人网 >VB

热点推荐