深入Scripting Runtime Library 之二

來源:互聯網
上載者:User

深入Scripting Runtime Library 之二

www.applevb.com

    上一次我向大家介紹了利用Scripting Runtime Library擷取磁碟機資訊、對檔案夾以及檔案進行操作的
方法,這裡介紹的是Scripting Runtime Library一個不起眼但是比較有用的對象——Dictionary對象
    如果在VB中要實現象字典一樣一一對應的列表並實現查詢,例如實現學生學號同學生姓名一一對應,輸入
學號就可以得到學生姓名這樣的程式。你會使用什麼什麼方法呢?一般的方法是建立兩個列表,分別在兩個列
表中輸入學生姓名和學號,在查詢時首先查詢學號列表中相符合的學號,然後在學生姓名列表中調出相應的學
生姓名。但是這樣做編程的量增大,而且不便於維護。還有的讀者可能想到了使用資料庫,但是這樣做顯得有
一些“殺雞用牛刀”,而且調用資料庫對於程式的尺寸和運行速度有很大影響。這裡我要象大家介紹的是利用
Scripting Runtime Library中的Dictionary對象實現字典功能。
    下面首先通過程式來介紹Dictionary對象的使用
    首先建立一個新的工程檔案,在Form1中加入一個ListBox控制項,一個TextBox控制項,然後在Form1的代碼視窗
中加入以下代碼:
Dim dicTemp As New Scripting.Dictionary

Private Sub Form_Load()
    List1.AddItem "apple"
    List1.AddItem "banana"
    List1.AddItem "grape"
    List1.AddItem "orange"
    List1.AddItem "strawberry"
   
    dicTemp.Add "apple", "蘋果"
    dicTemp.Add "orange", "柑橘"
    dicTemp.Add "banana", "香蕉"
    dicTemp.Add "grape", "葡萄"
    dicTemp.Add "strawberry", "草莓"
    Text1.Text = ""
End Sub

Private Sub Form_Unload(Cancel As Integer)
    dicTemp.RemoveAll
    Set dicTemp = Nothing
End Sub

Private Sub List1_Click()
    Dim astr As String
       
    astr = List1.List(List1.ListIndex)
   
    Text1.Text = dicTemp.Item(astr)
End Sub

Private Sub List1_DblClick()
    Dim astr As String
           
    Text1.Text = ""
    astr = List1.List(List1.ListIndex)
    List1.RemoveItem (List1.ListIndex)
    dicTemp.Remove (astr)
End Sub

    運行程式,點擊List1中的項目,相對應的中文解釋就會出現在Text1中間。
    上面的程式十分簡單,但是這個字典對象具有很多優點:
    首先這是一個對象,這就使得程式的可讀性和可維護性變的十分好。同時它的操作也十分簡單,利用AddItem方法
就可以增加一個具有關鍵字的項目,利用Item屬性就可以返回一個關鍵字相對應的項目,利用Remove方法就可以刪除
一個項目。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.