怎么删除6个完全相同数的数

来源:百度知道 编辑:UC知道 时间:2024/05/22 06:30:27
怎么删除6个完全相同数的数
小弟不懂vb请高手帮忙编写

Text1窗口有1行数据:01-33之间的数据
01 02 03 04 05 06

Text2窗口有多行数据:
07 25 03 14 29 18 26 33
03 05 02 01 04 06 26 28
05 02 03 04 06 01 22 23
02 03 01 04 06 05 32 31

点comd1 把Text2窗口内与Text1窗口完全相同的行删除(顺序不管,只要求6个数相同)
最后结果是
07 25 03 14 29 18 26 33

Private Sub Command1_Click()

Dim Flag(1 To 33) As Boolean
Dim arr, tmp
Dim i As Long, j As Long
Dim Idx As Long
Dim n As Long

arr = Split(Text1)
For i = 0 To UBound(arr)
Flag(arr(i)) = True
Next

arr = Split(Text2, vbCrLf)
For i = 0 To UBound(arr)
n = 0
tmp = Split(arr(i))
For j = 0 To UBound(tmp)
n = n - Flag(tmp(j))
Next j
If n >= 6 Then
arr(i) = vbNullString
Else
arr(Idx) = arr(i)
Idx = Idx + 1
End If
Next i
If Idx > 0 Then ReDim Preserve arr(Idx - 1)
Text2 = Join(arr, vbCrLf)

不懂vb的语法。说下算法:(伪码)
for(i=0;i<Text2.rows.length;i++) {
for(j=0; j<Text1.datas.length; j++) {
if(Text1.datas[j] in Text2.rows[i].datas) {