Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

VBA : Використання Dictionary

Dictionary використовує поняття хештаблиці. Він зберігає значення на основі ключа, та містить лише унікальні ключі. За допомогою ключа ми можемо легко шукати, або видаляти елементи. Для використання потрібно підключити простір імен:

Tools->Referenses->Microsoft Scripting Runtime

Створення нового словника

Для створення словника достатньо його оголосити як і звичайну змінну із типом Dictionary, єдина відмінність це приставка New:

Dim product As New Dictionary

де product буде містити назву продукту та його код.

також можна оголосити і таким чином:

Dim product As Dictionary
Set product = New Dictionary

Наповнення словника

product.Add 1010, "хліб"
product.Add 2180, "печиво"
...
product.Add 6035, "морозиво"

Отримання значення по ключу

product(1010) ' де 1010 ключ = хліб'
'або через індекс:'
product(product.Keys(i))

Зміна значення по ключу

Debug.Print product(6035) ' морозиво '
product(6035) = "пломбір" 'змінюємо значення для вказаного ключа'
Debug.Print product(6035) ' пломбір '

Властивості та методи

Add

Додає ключ і значення в словник.

Dim product As New Dictionary 
For i = 2 To ThisWorkbook.Sheets(1).Range("A1").End(xlDown).Row
    product.Add ThisWorkbook.Sheets(1).Range("A" & i).Value, ThisWorkbook.Sheets(1).Range("B" & i).Value
Next 

CompareMode

Повертає інтерфейс IEqualityComparer, який використовується для встановлення рівності ключів словника.

product.CompareMode

За замовчуванням використовує та повертає бінарне порівняння - BinaryCompare (або 0) тобто враховується регістр (великі і маленькі літері будуть розпізнаватись як відмінні).

Можна втановити текстове порівняння - vbTextCompare (або 1) тобто не враховується регістр (великі і маленькі літері будуть розпізнаватись як однакові)

Примітка: щоб змінити порінвння ключів, словник повинен бути пустим!

Count

Отримує число елементів, що містяться в елементі Dictionary.

x = product.Count

якщо к-ть = 0, то словник повністю пустий

Exists

Перевіряє чи існує заданий ключа в словнику, та повертає true/false

If product.Exists(1010) Then Debug.Print "ok"

Items

Повертає колекцію, яка містить значення із елемента Dictionary, або конкретне значення при вказанні індексу.

Перебір колекції:

For Each item In product.Items
    Debug.Print item ' постідовне вивення значень словника'
Next item

Доступ до конкретного елемента колекції:

Debug.Print product.Items(0)

Примітка: індексація починається із 0 до product.Count - 1

Keys

Повертає колекцію, яка містить ключі із елемента Dictionary, або конкретний ключ при вказанні індексу.

Перебір колекції:

For Each key In product.Keys
    Debug.Print key ' постідовне вивення ключів словника'
Next key

Доступ до конкретного елемента колекції:

Debug.Print product.Items(0)

Примітка: індексація починається із 0 до product.Count - 1

Remove

Видаляє значення з вказаним ключем з елемента Dictionary.

product.Remove (1010) ' де 1010 - ключ із вашого словника ' 

якщо необхідно видалити по індексу, то можна скористатись наступним:

product.Remove (product.Keys(i)) ' де i - індекс ключа із вашого словника ' 

Примітка: при видаленні пари ключ-значення із словника відбувається зміщення індексів на -1 (для всіх значень після видаленого), тобто:

product.Add 1010, "хліб" 
product.Add 2180, "печиво"
product.Add 6035, "морозиво"
'відповідно індекси присвояться від 0-2 в порядку додавання значень'
product.Remove (1010)
'тепер печиво має індекс = 0, а морозиво = 1'

RemoveAll

Видаляє все із елемента Dictionary.

product.RemoveAll

view245like0dislike0 avatard_l4w clock 2017-12-15 05:09

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com