我正在编写一个国际象棋程序,必须查看某个值是否为空。我试过
CCD_ 1是CCD_。CCD_ 3是形状的控制阵列。
Private aPiece(63) As CommandButton
...
For p = 0 To 63
If IsEmpty(aPiece(p)) Then
aPiece(p).Left = cmdSquare(p).Left
aPiece(p).Top = cmdSquare(p).Top
End If
Next p
所有变量都已声明,并且似乎是不起作用的IsEmpty函数。
IsEmpty
方法只返回变量的有意义的信息。由于数组包含对象,您需要这样检查:
If aPiece(p) Is Nothing Then
然而,这似乎只是答案的一部分。上述逻辑是说";如果在我的数组中没有片段,那么更新它的位置";。这对我来说没有意义,会产生一个错误。您还需要添加Not
,如下所示:
For p = 0 To 1
If Not aPiece(p) Is Nothing Then
aPiece(p).Left = cmdSquare(p).Left
aPiece(p).Top = cmdSquare(p).Top
End If
Next p
它取决于aPiece
的数据类型。如果它是一个变量,并且您还没有为它赋值,那么IsEmpty
将返回true。但是,如果是String
、Date
、aPiece
0等,则这些都会自动初始化(String
将是空字符串,Integer
将是0(,因此IsEmpty
将返回false。
一个很好的参考是这个页面:IsEmpty Function-Visual Basic 6.0