http://club.excelhome.net/dispbbs.asp?BoardID=2&ID=211734&replyID=&skin=0
数据字典的基本原理如何?
Methods: VBScript Dictionary Object
Adds a key, item pair. | |
Indicates if a specified key exists. | |
Returns an array containing all items in a Dictionary | |
Returns an array containing all keys in a Dictionary | |
Removes a key, item pair. | |
Removes all key, item pairs. |
Properties: VBScript Dictionary Object
The comparison mode for string keys. | |
The number of items in a Dictionary | |
An item for a key. | |
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