当前位置:编程学习 > VB >>

VB如何设置集合的关键词

Dim wang As New Collection 
Set wang = Nothing 
Set wang = LoadStrings(App.Path & "\Output\li.txt") 
li文本得内容是: 
b 16 
be 3 
bia 2 
c 32 

我想用设置关键字,用来读取b这列和数字得一列,我原先得使用下面得循环取得。想

改成用关键字来做,怎么去设置??? 
For Each cc In wang 
If cc <= 6 Then 
cc=cc 
End If 
zz=Left$(eachStr, 6)‘这是取字母得 
xx=Mid$(eachStr, 7) ’这是取数字得 
因为我要把zz和xx放到另外一个for each next 得循环里所以如果再把这个循环放进去

就太麻烦了,想用关键字来做。 --------------------编程问答-------------------- 说实话,没太明白你的意思...
集合的add方法中二个参数,一个是值,一个就是key,不过如果你要用key来判断Collection中是否存在某个对象,是不可行的,因为如果key不存在会抛出错误,要另外处理才行...
你可以用字典,字典使用和集合相似,简单示例:

'引用 Microsoft Scripting Runtime
  Dim dic As Dictionary
    Dim i As Long
    
    Set dic = New Dictionary
    For i = 1 To 26
        dic.Add Chr(i + 96), i
    Next
    
  '查找关健字y是否存在
    If dic.Exists("y") Then MsgBox dic.Item("y")
    
    Set dic = Nothing


--------------------编程问答--------------------   Dim wang As New Collection
    Set wang = Nothing
    Set wang = LoadStrings(App.Path & "\Output\li.txt")
   
    wang.Add Left$(eachStr, 6), m
    wang.Add Mid$(eachStr, 7), n
                
    nameAddr = 0
                
    For Each eachStr In mStrings
               
        If eachStr <= 6 Then
                eachStr = eachStr
        End If
        
 '拼音
  dishNo = StrConv(Left$(eachStr, 6), vbFromUnicode)
                
   '汉字
  dishName = Mid$(eachStr, 7)

       If dishName = "" And Left$(eachStr, 6) = wang.Item(m) Then  这里wang.item(m)是不是通过设置得关键字m去找相对应得内容啊
        
                nameAddr = wang.Item(n)  


wls文本内容:

ai  爱
ao  奥
b
be
bou 波
bai 白

li文本得内容:
a  3
b  3
be 0
程序得意思是当在wls文本里遇到文字为空得那一行时候就去li那个文本找相对应得数字,比如a后面为空那就去li文本找a后面得那个3
我现在想用集合得关键字做,请高手帮忙看下。 --------------------编程问答-------------------- wls文件中,是拼音和汉字(空)? --------------------编程问答-------------------- 二个文件中,拼音和后面的汉字或者数字是以一个空格分隔的吗?
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,