我有这样的程序,List1里放的是从数据库中读出来的数据,List2里是从磁盘扫描出来的数据,现在我想比较两个数据,以List1的数据为标准,如果List2里没有和他相同的数据,那么就把List1中的数据记录下来放在List3里.
给个例子:
List1里有a,b,c,d,e
List2里有a,b,e,f,g
那么我就是要在List3里显示c,d,e
请问该怎么写这段程序?谢谢!
给个例子:
List1里有a,b,c,d,e
List2里有a,b,e,f,g
那么我就是要在List3里显示c,d,e
请问该怎么写这段程序?谢谢!
解决方案 »
- 利用谷歌翻译API时,翻译不全
- COM数据接收问题
- 怎样让窗体以及控件的自动适应各种不同的分辩率(高手进。急!急!急!)
- VB 能不能以可读又可写的方式打开文件?
- MDIFORM菜单栏能不能不显示出子窗体的菜单
- API浏览器里少很多API,自己写声明应该依据什么呢?
- imgedit图像的翻转
- 请 Cooly(准备失业的苦力) 进来领分,刚才解决的问题:http://expert.csdn.net/Expert/topic/1492/1492751.xml?temp=.471142
- VFP与VB的连接问题
- 我在装了WINAMP2.76后,再起动vb, 就会出现一个弹出窗口上面写的是:未知的错误;退出。 然后我再怎么折腾也不行了,包括重安装vb,难道非逼我用绝招,重装系统吗,我不要啊,大家快救救我吧!
- 很初级:ADODC控件与data控件有何区别?
- 如何实现VB和VC联调?
For j = 0 To List1.ListCount - 1
ReDim Temp(j)
For i = 0 To List2.ListCount - 1
If UCase(List3.List(i)) = UCase(List1.List(j)) Then
List1.RemoveItem (j)
Exit For
End If
Next i
Next j
但好象有逻辑错误,就是当List1移动的时候,标签好象就改变了.
List1.AddItem "a"
List1.AddItem "b"
List1.AddItem "c"
List1.AddItem "d"
List1.AddItem "e"
List2.AddItem "a"
List2.AddItem "b"
List2.AddItem "g"
List2.AddItem "h"
List2.AddItem "k"
For j = 0 To List1.ListCount - 1
t = True
ReDim Temp(j)
For i = 0 To List2.ListCount - 1
If UCase(List1.List(j)) = UCase(List2.List(i)) Then
t = False
Exit For
End If
Next i
If t = True Then List3.AddItem List1.List(j)
Next jEnd Sub
while list1.listindex <> -1
b = false
for j =0 to list2.listcount - 1
if list2.list(j) = list1.list(list1.listindex) then
b = true
exit for
end if
if not b then
list3.additem list1.list(list1.listindex)
list1.removeitem list1.listindex
end if if list1.listindex = list1.listcount - 1 then
list1.listindex = -1
else
list1.listindex = list1.listindex + 1
end if
wend
list2的数据是a,b,e,f,g
运行结果是 list3: c和d
不是这样啊?
list1: a,b,e
list2: a,b,f,g,e
list3中c c,d