Примеры VBS: объект Scripting.Dictionary

Статус
В этой теме нельзя размещать новые ответы.

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
8,030
Решения
14
Реакции
6,805
Объект Scripting.Dictionary - иначе "словарь".
Источник
Составил: Людоговский Александр​

Содержание:
1. Создание объекта
2. Свойства
2.1. Count
2.2. Item
2.3. Key
2.4. CompareMode​
3. Методы
3.1. Add
3.2. Exists
3.3. Remove
3.4. RemoveAll
3.5. Items
3.6. Keys​
 
1. Создание объекта

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")

2. Свойства

2.1. Count

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

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
MsgBox Dict.Count

2.2. Item

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

Пример:
VB.NET / VBA:
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

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

Пример:
VB.NET / VBA:
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

Синтаксис:
Возвращаемое значение: устанавливает способ сравнения ключей коллекции. Установка свойства возможна, только если коллекция пуста. Возможные значения:
0 - Binary.
1 - Text.
2 - Database.
Замечание: чтение и запись.

Пример:
VB.NET / VBA:
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

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

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

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"

3.2. Exists

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

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

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then MsgBox "Ключ существует!"

3.3. Remove

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

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

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then Dict.Remove(1)

3.4. RemoveAll

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

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

Пример:
VB.NET / VBA:
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Dict.RemoveAll
MsgBox Dict.Count

3.5. Items

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

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

Пример:
VB.NET / VBA:
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

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

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

Пример:
VB.NET / VBA:
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
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу