Dim oldData$() Dim diffData$()Private Sub Command1_Click() GetOldData GetNewData CompareData End SubSub GetOldData() Dim lngCnt&
ReDim oldData(0) List2.Clear For lngCnt = 0 To List1.ListCount - 1 ReDim Preserve oldData(lngCnt) oldData(lngCnt) = List1.List(lngCnt) List2.AddItem oldData(lngCnt) Next End SubSub GetNewData() Dim lngCnt&
List1.Clear For lngCnt = 1 To 10 List1.AddItem CStr(CInt(Rnd * 10) + 1) Next End SubPrivate Sub Form_Load() GetNewData End SubSub CompareData() Dim lngCnt&, lngCnt2&, lngCnt3
ReDim diffData(0)
List3.Clear For lngCnt = 0 To List1.ListCount - 1 For lngCnt2 = 0 To UBound(oldData) - 1 If List1.List(lngCnt) = oldData(lngCnt2) Then Exit For End If Next If lngCnt2 >= UBound(oldData) Then ReDim Preserve diffData(lngCnt3) diffData(lngCnt3) = List1.List(lngCnt) List3.AddItem diffData(lngCnt3) lngCnt3 = lngCnt3 + 1 End If Next End Sub
Dim diffData$()Private Sub Command1_Click()
GetOldData
GetNewData
CompareData
End SubSub GetOldData()
Dim lngCnt&
ReDim oldData(0)
List2.Clear
For lngCnt = 0 To List1.ListCount - 1
ReDim Preserve oldData(lngCnt)
oldData(lngCnt) = List1.List(lngCnt)
List2.AddItem oldData(lngCnt)
Next
End SubSub GetNewData()
Dim lngCnt&
List1.Clear
For lngCnt = 1 To 10
List1.AddItem CStr(CInt(Rnd * 10) + 1)
Next
End SubPrivate Sub Form_Load()
GetNewData
End SubSub CompareData()
Dim lngCnt&, lngCnt2&, lngCnt3
ReDim diffData(0)
List3.Clear
For lngCnt = 0 To List1.ListCount - 1
For lngCnt2 = 0 To UBound(oldData) - 1
If List1.List(lngCnt) = oldData(lngCnt2) Then
Exit For
End If
Next
If lngCnt2 >= UBound(oldData) Then
ReDim Preserve diffData(lngCnt3)
diffData(lngCnt3) = List1.List(lngCnt)
List3.AddItem diffData(lngCnt3)
lngCnt3 = lngCnt3 + 1
End If
Next
End Sub
主要是为了查看结果。三个函数基本上可以用,自己根据需要改吧
list1的数据是新生成的,
list2的数据是上一次生成的,
list3的数据是新生成的中和上一次生成的不同的数据