关于VB listbox控件的问题

PrivateSubCommand4_Click()'查找地面物品按钮List1.ClearDimhpidAsLongDimjizhiAsLong'存储物品基地址Dimw... Private Sub Command4_Click() '查找地面物品按钮
List1.Clear
Dim hpid As Long
Dim jizhi As Long '存储物品基地址
Dim wium As Long '物品数量
Dim base As Long '存储地址
Dim i As Integer '循环变量
Dim X As Long
Dim Y As Long
Dim s As String
Dim wpname_temp As Long '存放物品名的林时变量
Dim wpname(63) As Byte '存储物品名称

hpid = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hpid Then
ReadProcessMemory hpid, ByVal &H98A47C, jizhi, 4, 0
ReadProcessMemory hpid, ByVal jizhi + &H8, jizhi, 4, 0 '物品基址
ReadProcessMemory hpid, ByVal jizhi + &H28, wium, 4, 0 '得到物品数量
If wium <> 0 Then
For i = 0 To 768 '循环用来判断那个 值内 存在的物品
ReadProcessMemory hpid, ByVal wium + &H18, base, 4, 0
ReadProcessMemory hpid, ByVal base + i * 4, base, 4, 0 '从列表中选出地面上物品的地址
If base > 0 Then '判断是否存在物品
ReadProcessMemory hpid, ByVal base + 4, base, 4, 0
ReadProcessMemory hpid, ByVal base + &H164, wpname_temp, 4, 0
ReadProcessMemory hpid, ByVal wpname_temp, wpname(0), 64, 0 '得到物品名称
's = StrConv(wpname, vbUnicode)
List1.AddItem wpname
For X = 0 To List1.ListCount - 1
List1.ListIndex = X
If InStr(List1.List(X), wpname) <> 0 Then
Exit Sub
End If
Next X
List1.AddItem wpname
'For y = 0 To List2.ListCount - 1 '用循环查找是否是过滤表内要过滤的物品
'If InStr(wpname, List2.List(y)) > 0 Then '用InSet()进行对比,存在过滤表内容则过滤
'WriteProcessMemory hpid, ByVal base + &H110, 0, 4, 0 '变ID为0,有捡物品动作但背包内无此物品
'If List1.DataMember = List2.DataMember Then
'List1.RemoveItem (List1.DataMember)
'End If
End If

Next i
End If

End If
CloseHandle hpid
End Sub
大家好这是我写的一个显示地面物品的代码,显示出来在LISTBOX框里有重复的名字,如何过滤掉这些重复的名字呢?而且只能用Command跟LISTBOX实现.问题解决后可再追加50分.谢谢了
还有,如果list2上有的内容,如何让list1上不显示出来呢?????能给出相应的源码吗?wpname As Byte能跟list1.list(i)文本比较吗?
展开
 我来答
sihai163
2008-03-19 · TA获得超过160个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:381万
展开全部
通常去掉重复都是从数据库读取的时候就过滤了,如果没有限制的话,也可以用循环来判断是否存在
temp=值
for i=0 to list1.listcount-1
if temp=list1.list(i) then
exit for
end if
next i
if i<>list1.listcount-1 then msgbox "列表1中己存在"

如果list2上有的内容,如何让list1,同样道理可以实现
牛A和牛C间徘徊
2008-03-18 · TA获得超过1037个赞
知道小有建树答主
回答量:782
采纳率:0%
帮助的人:616万
展开全部
只能挨个比较了....挨个读取listbox内容,与之前的项目挨个比较,如果存在,则删除本条
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式