作者Juten ( 九 天)
看板Visual_Basic
标题[VB6 ] 关於资料比对
时间Thu Feb 19 14:48:03 2009
小弟是初心者
因为需求最近写了一个程式
需要做个资料比对 Text1与ListA&B
text1中的资料会一直更新与固定资料的list比较
若Text的资料中出现了List里面的资料则隐藏的图案显示
比如Text内含有ListA里的资料则属於ListA的图会显示
可是搞了很久还是不懂
所以来提个问题
由於text1的资料会出现很多笔举例如下
2009/02/12 XX:XX:XX find
A0123045650
D2103105031 等...
然後有建立两个TXT档为AID.TXT及BID.TXT
分别从FROM_LOAD内写入读取至ListA和ListB
内容写为
A0230503511
A5023035410 等...(A,B档都是只写这样)
那要怎麽做资料比对?
直接写成
If Text1.Text = List1.List(ListIndex) Then
Shape2.Visible = True '图2显示 表示含有A档ID
Else
Shape2.Visible = False
End If
If Text1.Text = List2.List(ListIndex) Then
Shape3.Visible = True '图3显示 表示含有B档ID
Else
Shape3.Visible = False
End If
好像是直接把Text1里全部的字跟List里的全部做比对
有办法把Text内的ID资料做A,B List内的ID一项一项比较吗?
经过一番阅读
修改了程式内容为
For i = 0 To List1.ListCount - 1
List1.ListIndex = i
If InStr(Text1.Text, List1.List(i)) Then
Shape2.Visible = True
Else
Shape2.Visible = False
End If
Next i
For j = 0 To List2.ListCount - 1
List2.ListIndex = j
If InStr(Text1.Text, List2.List(j)) Then
Shape3.Visible = True
Else
Shape3.Visible = False
End If
Next j
发现是有点功用了
可是...
只能比对List里面的最後一笔
不能每一笔都比对
是不是有缺了哪些语言呢
以上
烦请各位大大不吝指教 谢谢
不好意思描述的不够清楚
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.124.45.205
※ 编辑: Juten 来自: 140.124.45.205 (02/19 15:00)
※ 编辑: Juten 来自: 140.124.45.205 (02/19 21:23)
1F:→ MOONRAKER:你讲清楚一点,到底是谁要跟谁比,比了以後要怎样 02/19 22:06
2F:→ Juten:喔~ 对不起 是读出来後在TEXT里的资料要跟listA和B的比 02/19 22:44
※ 编辑: Juten 来自: 140.124.45.205 (02/19 22:45)
※ 编辑: Juten 来自: 140.124.45.205 (02/19 22:51)
3F:→ MOONRAKER:用一个回圈抓listA的记录 里面包另一个回圈读text的资料 02/19 23:43
4F:→ MOONRAKER:跟他比对 这样用两层回圈是最简单有效的方法 02/19 23:43
5F:→ MOONRAKER:还有listB 就再做一次 02/19 23:44
6F:→ MOONRAKER:这是最简单的方法 其他啥bsearch法 hash法 datatable法 02/19 23:57
7F:→ MOONRAKER:等会走路了再学飞不迟 02/19 23:58
8F:→ Juten:楼上大大可以举个例子吗? 小弟加上Do Loop後会荡耶... 02/20 02:35
9F:→ fumizuki:是不是没写离开回圈的条件 或条件不会成立... 02/20 12:33
10F:→ Juten:中间尝试加入了 Exit For 就可以了 02/20 13:41