+7 (4822) 75-00-45 +7 (920) 686-72-02

Тверь

Windows Script Host - объект Dictionary

Объект Dictionary представляет собой ассоциативный массив элементов, которые могут иметь различные типы. Каждому элементу соответствует уникальный ключ, с помощью которого осуществляется доступ к элементу. Ключом, как правило, является целое число или строка, но в общем случае ключом может быть все что угодно, за исключением массива. Объект Dictionary создается и возвращается, если в методе ActiveXObject() имя сервера и типа установлено равным "Scripting.Dictionary". Объект Dictionary имеет целый ряд свойств и методов, которые позволяют использовать элементы словаря.

1. Создание объекта

Пример:

Set Dict = CreateObject("Scripting.Dictionary")

2. Свойства

2.1. Count

Синтаксис: Count

Возвращаемое значение: число, количество элементов коллекции. 

Замечание: только чтение.

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add 1, "One" Dict.Add 2, "Two" MsgBox Dict.Count

2.2. Item

Синтаксис: Item(<Key>)

Возвращаемое значение: элемент коллекции, соответствующий заданному ключу. 

Замечание:чтение и запись. 

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add 1, "One" Dict.Add 2, "Two" Dict.Item(1) = "Один" MsgBox Dict.Item(1) MsgBox Dict.Item(2)

2.3. Key

Синтаксис: Key(<Key>)=<NewKey>

Возвращаемое значение: устанавливает новое значение ключа в коллекции. 

Замечание: запись.

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add 1, "One" Dict.Add 2, "Two" Dict.Key(1) = "Eins" MsgBox Dict.Item("Eins") MsgBox Dict.Item(2)

2.4. CompareMode

Синтаксис: CompareMode

Возвращаемое значение: устанавливает способ сравнения ключей коллекции. Установка свойства возможна, только если коллекция пуста. 

Возможные значения:

  • 0 - Binary.
  • 1 - Text.
  • 2 - Database.

Замечание: чтение и запись. 

Пример:

On Error Resume Next Set Dict = CreateObject("Scripting.Dictionary") Dict.CompareMode = 1 Dict.Add "a", "One" Dict.Add "A", "Two" If Not Err.Number=0 Then MsgBox "CompareMode = 1" & vbCrLf & Err.Description Err.Clear Dict.RemoveAll Dict.CompareMode = 0 Dict.Add "a", "One" Dict.Add "A", "Two" If Not Err.Number=0 Then MsgBox "CompareMode = 0" & vbCrLf & Err.Description

3. Методы

3.1. Add

Синтаксис: Add(<Key>,<Item>)

Назначение: добавляет элемент в коллекцию. 

Параметры:

  • <Key> - ключ.
  • <Item> - элемент.

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two"

3.2. Exists

Синтаксис: Exists(<Key>)

Назначение: проверяет существование ключа в коллекции. Если да, возвращает True, иначе - False. 

Параметры: <Key> - ключ.

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two" If Dict.Exists(1) Then MsgBox "Ключ существует!"

3.3. Remove

Синтаксис: Remove(<Key>)

Назначение: удаляет ключ и его элемент из коллекции. Если такой ключ не существует, возникнет ошибка. 

Параметры: <Key> - ключ.

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two" If Dict.Exists(1) Then Dict.Remove(1)

3.4. RemoveAll

Синтаксис: RemoveAll

Назначение: очищает коллекцию. 

Параметры: нет. 

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two" Dict.RemoveAll MsgBox Dict.Count

3.5. Items

Синтаксис: Items

Назначение: возвращает массив элементов коллекции. Позволяет перебрать коллекцию в цикле.

Параметры: нет. 

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two" Arr = Dict.Items For i=0 To Dict.Count-1 MsgBox Arr(i) Next

3.6. Keys

Синтаксис: Keys

Назначение: возвращает массив ключей коллекции. Позволяет перебрать коллекцию в цикле.

Параметры: нет. 

Пример:

Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "a", "One" Dict.Add 1, "Two" Arr = Dict.Keys For i=0 To Dict.Count-1 MsgBox Arr(i) Next

Ищите нас в соц. сетях: