vb 怎么办才好

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:55:29
括号里的数位0到11
如dd= 0 to 11
如3,6
if ww(3) <> mi(3) and ww(6) <> mi(6) then MSFlexGrid1.RemoveItem i 这个结果数据是我要的
如4,5,6
if ww(4) <> mi(4) and ww(5) <> mi(5) and ww(6) <> mi(6)then MSFlexGrid1.RemoveItem i 这个结果数据是我要的
如4,5,6,9
if ww(4) <> mi(4) and ww(5) <> mi(5) and ww(6) <> mi(6)and ww(9) <> mi(9)then MSFlexGrid1.RemoveItem i 这个结果数据是我要的
......
......
......
但是怎么能够把代码进行整合呢,用简单的几句就可以代表上面这些呢
if ww(dd) <> mi(dd) then MSFlexGrid1.RemoveItem i 这个不是我要的

把4、5、6、9放入数组A(3)中,用下面代码做:
for k=0 to 3
if ww(A(k))=mi(A(k)) then exit for
next k
if k>3 then MSFlexGrid1.RemoveItem i
其他情况也类似地写。

哦...大概明白你意思了...

Dim ww(9), mi(9), dd As Integer
Dim TempStr As String

TempStr = ""
...
循环这个
If ww(dd) <> mi(dd) Then
TempStr = TempStr & "T"
Else
TempStr = TempStr & "F"
End If
循环结束

36相同为FFTFFTFFFF
If TempStr = "FFTFFTFFFF" Then MSFlexGrid1.RemoveItem i

456相同为FFFTTTFFFF
...
4569相同为FFFTTTFFTF
...
如此类推

相当于自己做的一个标志位,只要标志对了就 MSFlexGrid1.RemoveItem i

dim s$(),ii&,jj&

s=split("3,6",",") '前面的引号里面是条件, 比你的 4,5,6,9
jj=ubound(s)

for ii=0 to jj
if ww(val(s(ii)))=mi(val(s(ii))) then exit for
next
if ii>jj then MSFlexGrid1.RemoveItem i