http://club.excelhome.net/dispbbs.asp?BoardID=2&ID=211734&replyID=&skin=0

数据字典的基本原理如何?  

Methods: VBScript Dictionary Object

VBScript Dictionary Object Add Method

Adds a key, item pair.


VBScript Dictionary Object Exists Method

Indicates if a specified key exists.

VBScript Dictionary Object Items Method

Returns an array containing all items in a Dictionary

VBScript Dictionary Object Keys Method

Returns an array containing all keys in a Dictionary

VBScript Dictionary Object Remove Method

Removes a key, item pair.

VBScript Dictionary Object RemoveAll Method

Removes all key, item pairs.

Properties: VBScript Dictionary Object

VBScript Dictionary Object CompareMode Property

The comparison mode for string keys.

VBScript Dictionary Object Count Property

The number of items in a Dictionary

VBScript Dictionary Object Item Property

An item for a key.

VBScript Dictionary Object Key Property

A key

1.

Dictionary 物件

                   

描述

物件,用於儲存資料關鍵字和項目對。

語法

Scripting.Dictionary

請注意

Dictionary 物件與 PERL 相關陣列全等。可以是任何型式的資料的項目被儲存在陣列中。每個項目都與一個唯一的關鍵字相關。該關鍵字用來取出單個項目,通常是整數或字串,可以是除陣列外的任何型態。

下面的程式碼舉例說明了如何建立一個 Dictionary 物件:

Dim d                   '
Set d = CreateObject(Scripting.Dictionary)
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"d.Add "c", "Cairo"
...


Key 屬性


描述
在一個 Dictionary 物件中設定一個 key。
語法
object.Key(key) = newkey
Key 屬性具有下列單元:
  
  

單元
描述


object
 
必要引數。始終是一個 Dictionary 物件的名字。
 


key
 
必要引數。被更改的 Key。
 


newkey
 
必要引數。取代指定 key 的新。
 



 
請注意
如果在更改某個 key 時,沒有找到 key,則會出現執行階段錯誤。
 
3.

Item 屬性


   

   

   


描述
對 Dictionary 物件中指定的Key,設定或傳回一個Item 。對於集合來說,基於指定的Key,傳回一個Item。讀取/寫入屬性。
語法
object.Item(key) [= newitem]
Item 屬性具有下列單元:

  
  

單元
描述


object
 
必要引數。始終是一個集合或 Dictionary 物件的名稱。
 


key
 
必要引數。與被取出或加入的項目相關的 Key 。
 


newitem
 
選擇性引數。僅用於 Dictionary 物件;沒有用於集合的應用程式。如果提供的話,newitem 是與指定的 Key 相關的新值。
 




 
請注意
如果在改變某個 item 時,沒有找到 key,則用指定的newitem建立一個新的 key。如果在試圖傳回某個已存在項目時,沒有找到 key,則建立一個新 key,且其相對的項目為無。
 
4.

Count 屬性


   

   

   


描述
傳回集合或 Dictionary 物件中的項目數。唯讀。
語法
object.Count
object 始終是「適用於」清單中某一項目的名稱。
請注意
下面的程式碼舉例說明了 Count 屬性的使用方法:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目。
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.Keys              '獲得關鍵字
For i = 0 To d.Count -1 '遍及陣列
    Print a(i)          '列印關鍵字
Next
...
5.

CompareMode 屬性


   

   

   


描述
設定或傳回 Dictionary 物件中的比較字串關鍵字的比較模式。
語法
object.CompareMode[ = compare]
CompareMode 屬性具有下列單元:
    
    

單元
描述


object
 
必要引數。始終是一個 Dictionary 物件的名稱。
 


compare
 
選擇性引數。如果提供的話,compare 是一個代表比較模式的,該比較模式用於像 StrComp 這樣的函數。
 



 
設定
compare 引數可以具有下列值:
    
    

常數
 
描述


VbUseCompareOption
 
-1
 
使用 Option Compare 陳述式的設定進行比較。
 


vbBinaryCompare
 
 0
 
進行二進位比較。
 


vbTextCompare
 
 1
 
進行文字比較。
 


vbDatabaseCompare
 
 2
 
僅用於 Microsoft Access。進行基於您自己資料庫中資訊的比較。
 



 
請注意
如果試圖對已經包含資料的 Dictionary 物件的比較模式進行更改的話,就會出錯。
CompareMode 屬性所用的引數與 StrComp 函數所用的 compare 引數相同。可以用大於 2 的表示使用指定的 Locale IDs (LCID) 的比較。
 
 
dictionary方法:
1

Add 方法 (目錄)



   


   


   



描述
加入一對相對應的關鍵字和項目到 Dictionary 物件。
語法
object.Add key, item
Add方法的語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。一個 Dictionary 物件的名字。
 


Key
 
必要引數。與所加入的項目相關的關鍵字。
 


Item
 
必要引數。與所加入的關鍵字相關的項目。
 




 
請注意
如果該關鍵字已經存在,則產生一個錯誤。
2

Exists 方法



   


   


   



描述
如果在 Dictionary 物件中指定的關鍵字存在,傳回 True,若不存在,傳回 
False。
語法
object.Exists(key)
Exists 方法語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。始終是一個 Dictionary 物件的名字。
 


Key
 
必要引數。在 Dictionary 物件中搜尋的 Key 值。
 




3

Keys 方法



   


   


   



描述
傳回一個陣列,該陣列包含一個 Dictionary 物件中的全部既存的的關鍵字。
語法
object.Keys
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 Keys 方法的使用。
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目。
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.keys              '取得關鍵字
For i = 0 To d.Count -1 '重複陣列
    Print a(i)          '列印關鍵字
Next
...
4

Items 方法


描述
傳回一個包含 Dictionary 物件中所有項目的陣列。
語法
object.Items
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 Items 方法的使用。:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目。
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.Items             '取得項目
For i = 0 To d.Count -1 '重複陣列
    Print a(i)          '列印項目
Next
...
5

Remove 方法



描述
從一個 Dictionary 物件中移除一個關鍵字和項目對。
語法
object.Remove(key)
Remove 方法語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。始終是一個 Dictionary 物件的名字。
 


Key
 
必要引數。Key 與要從 Dictionary 物件中移除的關鍵字和項目對相關。
 




 
請注意
如果指定的關鍵字和項目對不存在,則發生一個錯誤。
下面的程式碼舉例說明了 Remove 方法的使用:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.Remove()
		
6

RemoveAll 方法


   

   

   


描述
RemoveAll 方法從 Dictionary 物件中移除所有關鍵字和項目對。
語法
object.RemoveAll
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 RemoveAll 方法的用法:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.RemoveAll




Dim a, d, i             '
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.Keys              '
For i = 0 To d.Count -1 '
    Print a(i)          '
Next
...
5.

CompareMode 屬性


   

   

   


描述
設定或傳回 Dictionary 物件中的比較字串關鍵字的比較模式。
語法
object.CompareMode[ = compare]
CompareMode 屬性具有下列單元:
    
    

單元
描述


object
 
必要引數。始終是一個 Dictionary 物件的名稱。
 


compare
 
選擇性引數。如果提供的話,compare 是一個代表比較模式的,該比較模式用於像 StrComp 這樣的函數。
 



 
設定
compare 引數可以具有下列值:
    
    

常數
 
描述


VbUseCompareOption
 
-1
 
使用 Option Compare 陳述式的設定進行比較。
 


vbBinaryCompare
 
 0
 
進行二進位比較。
 


vbTextCompare
 
 1
 
進行文字比較。
 


vbDatabaseCompare
 
 2
 
僅用於 Microsoft Access。進行基於您自己資料庫中資訊的比較。
 



 
請注意
如果試圖對已經包含資料的 Dictionary 物件的比較模式進行更改的話,就會出錯。
CompareMode 屬性所用的引數與 StrComp 函數所用的 compare 引數相同。可以用大於 2 的表示使用指定的 Locale IDs (LCID) 的比較。
 
 
dictionary方法:
1

Add 方法 (目錄)



   


   


   



描述
加入一對相對應的關鍵字和項目到 Dictionary 物件。
語法
object.Add key, item
Add方法的語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。一個 Dictionary 物件的名字。
 


Key
 
必要引數。與所加入的項目相關的關鍵字。
 


Item
 
必要引數。與所加入的關鍵字相關的項目。
 




 
請注意
如果該關鍵字已經存在,則產生一個錯誤。
2

Exists 方法



   


   


   



描述
如果在 Dictionary 物件中指定的關鍵字存在,傳回 True,若不存在,傳回 
False。
語法
object.Exists(key)
Exists 方法語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。始終是一個 Dictionary 物件的名字。
 


Key
 
必要引數。在 Dictionary 物件中搜尋的 Key 值。
 




3

Keys 方法



   


   


   



描述
傳回一個陣列,該陣列包含一個 Dictionary 物件中的全部既存的的關鍵字。
語法
object.Keys
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 Keys 方法的使用。
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目。
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.keys              '取得關鍵字
For i = 0 To d.Count -1 '重複陣列
    Print a(i)          '列印關鍵字
Next
...
4

Items 方法




   



   



   




描述
傳回一個包含 Dictionary 物件中所有項目的陣列。
語法
object.Items
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 Items 方法的使用。:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目。
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.Items             '取得項目
For i = 0 To d.Count -1 '重複陣列
    Print a(i)          '列印項目
Next
...
5

Remove 方法




   



   



   




描述
從一個 Dictionary 物件中移除一個關鍵字和項目對。
語法
object.Remove(key)
Remove 方法語法有如下幾個單元:


    
    

單元
描述


Object
 
必要引數。始終是一個 Dictionary 物件的名字。
 


Key
 
必要引數。Key 與要從 Dictionary 物件中移除的關鍵字和項目對相關。
 




 
請注意
如果指定的關鍵字和項目對不存在,則發生一個錯誤。
下面的程式碼舉例說明了 Remove 方法的使用:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.Remove()
		
6

RemoveAll 方法


   

   

   


描述
RemoveAll 方法從 Dictionary 物件中移除所有關鍵字和項目對。
語法
object.RemoveAll
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 RemoveAll 方法的用法:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.RemoveAll



Dim a, d, i             '
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.keys              '
For i = 0 To d.Count -1 '
    Print a(i)          '
Next
...
Dim a, d, i             '
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
a = d.Items             '
For i = 0 To d.Count -1 '
    Print a(i)          '
Next
...
Dim a, d, i             '
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.Remove()
		
6

RemoveAll 方法


   

   

   


描述
RemoveAll 方法從 Dictionary 物件中移除所有關鍵字和項目對。
語法
object.RemoveAll
object始終是一個 Dictionary 物件的名字。
請注意
下面的程式碼舉例說明了 RemoveAll 方法的用法:
Dim a, d, i             '建立一些變數
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.RemoveAll


Dim a, d, i             '
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.RemoveAll