99555

Коллекции объектов в Visual Basic

Доклад

Информатика, кибернетика и программирование

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

Русский

2016-09-23

125 KB

0 чел.

Коллекции объектов

К коллекции объектов можно применять оператор For Each.

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

В Visual Basic определены две встроенные коллекции объектов, к которым можно обращаться непосредственно:

Forms - включает все загруженные формы проекта;

Controls - включает управляющие элементы всех форм.

Каждая коллекция, кроме методов и свойств, входящих в нее объектов, имеет собственные методы и свойства. Кроме того, все коллекции имеют следующие общие свойства и методы:

• свойство Count - содержит число объектов в коллекции;

• метод Item - служит для выбора объекта в коллекции. Некоторые коллекции имеют следующие методы:

Add - с его помощью в коллекцию можно включить новый объект;

Remove - с его помощью объект можно исключить из состава коллекции.

В случае необходимости, кроме встроенных коллекций, можно определять свои коллекции. Для этого необходимо создать объект типа Collection. Объявление такого объекта имеет синтаксис

Public  |    [Private] |  Dim ИмяКоллекции As New Collection

 Некоторые объекты могут не поддерживать какое-то конкретное свойство или метод. VB позволяет обойти это препятствие двумя способами: с помощью ключевого слова TypeOf и функции TypeName.

Ключевое слово TypeOf можно использовать только в операторах IfThenElse … . Необходимо включить имя класса непосредственно в разрабатываемый код. Например, If TypeOf MyControl Is CheckBox Then ….

Функция TypeName отличается большей гибкостью. Ее можно использовать в любом месте кода и, так как она возвращает имя класса в строке, ее можно использовать в операторах сравнения со строковой переменной.

Рассмотрим пример создания коллекции управляющих элементов и их массовой обработки. В экранной форме проекта для этого примера будут размещены пять элементов управления CommandButton и один элемент Label. Все элементы CommandButton будут включены в коллекцию, а затем для каждого управляющего элемента этой коллекции в цикле For Each свойствам Caption будет установлено значение Мы из коллекции. Для разработки программы примера следует выполнить такие действия.

1. Создать новый проект с экранной формой, как показано на рис. 1, установить ее свойству Caption значение Цикл For Each.

Рис. 1

2. Поместить в форму управляющий элемент CommandButton, а затем создать массив из четырех этих элементов.

3. Поместить в экранную форму еще два элемента CommandButton, установив их свойствам Caption значения Выполнить и Выход соответственно.

4. Свойству Caption управляющего элемента Label установить значение Коллекция управляющих элементов.

5. В раздел "General" формы поместить код:

Option Explicit

Dim Коллекция As New Collection 'Объявление объекта типа Collection

Dim X As Control 'Объявление переменной типа Control

6. В процедуру обработки события Click для управляющего элемента с именем Command2 поместить код:

Private Sub Command2_Click()

For Each X In Controls   'Начало цикла

If TypeOf X Is CommandButton Then

 'Если управляющий элемент CommandButton,

'то добавить в коллекцию

Коллекция.Add X

End If

Next X 'Конец цикла For Each

For Each X In Коллекция

'Цикл, устанавливающий значения свойств

'Caption коллекции элементов

X.Caption = «Мы из коллекции»

Next X

End Sub

7. В процедуру обработки события Click для управляющего элемента с именем Command3 поместить код:

Private Sub Command3_Click()

End

       End Sub

8. Запустить программу на выполнение. После щелчка мышью по кнопке <Выполнить> изображение на экране примет вид, как показано на рис. 2.

Рис. 2


 

А также другие работы, которые могут Вас заинтересовать

31274. Математичні методи в обчисленнях на ЕОМ. Методичні вказівки щодо практичних занять і самостійної роботи 3.62 MB
  Практичне заняття № 2 Розвязання систем лінійних алґебраїчних рівнянь. Практичне заняття № 3 Розвязання нелінійних рівнянь та їх систем. Розвиток інформаційних технологій і широке впровадження математичних методів в інженерні дослідження висувають підвищенні вимоги до підготовки інженерів з електромеханіки. Дисципліна Математичні методи в обчисленнях на ЕОМ орієнтує студентів на використання сучасного прикладного програмного забезпечення під час розвязання різноманітних інженернотехнічних задач.
31275. Математичні методи в обчисленнях на ЕОМ 4.9 MB
  Практичне заняття №1 Інтерполяція функції. 5 Практичне заняття №2 Апроксимація функції. Інтерполяція функції МЕТА: вивчення методів та придбання навичок інтерполяції функцій засобами пакету MathCAD Рекомендації щодо обробки результатів При експериментальному вивченні явища необхідно розвязувати такі задачі: знайти аналітичний вираз для функції що задана таблицею або графіком; обчислити значення функції що задана таблицею у мимовільній точці деякого відрізку. Нехай для функції що задана вузлами необхідно знайти значення функції...
31276. МІКРОПРОЦЕСОРНІ ПРИСТРОЇ 993.5 KB
  Remove Видаляє клавішний макрос. Size move Ініціює переміщення і зміну розмірів вікна. Проста програма з трьома сеґментами ;Вкажемо відповідність сеґментних реґістрів сеґментам assume CS:code DS:data ;Опишемо сеґмент команд code segment ;Відкриваємо сеґмент коду begin: mov AXdata ;Початкова ініціалізація mov DSAX ;сеґментного реґістра DS на сеґмент ;даних ;Виведемо на екран рядок тексту mov АН09h ;Функція DOS виведення на екран mov DXoffset msg ;Адреса де зберігається ;рядок що виводиться на екран int 21h...
31277. МІКРОПРОЦЕСОРНІ ПРИСТРОЇ В ЕЛЕКТРОМЕХАНІЧНИХ СИСТЕМАХ 829 KB
  050702 ЕЛЕКТРОМЕХАНІКА КРЕМЕНЧУК 2011 Методичні вказівки щодо самостійної роботи з навчальної дисципліни Мікропроцесорні пристрої в електромеханічних системах для студентів денної та заочної форм навчання у тому числі скорочений термін навчання за напрямом 6. Гладир Кафедра систем автоматичного управління та електропривода Затверджено методичною радою Кременчуцького національного університету імені Михайла Остроградського Протокол №____ від__________ Заступник голови методичної ради______________ доц.21 ВСТУП Дисципліна Мікропроцесорні...
31278. ОСНОВИ АВТОМАТИЗОВАНОГО ПРОЕКТУВАННЯ ЕЛЕКТРОТЕХНІЧНИХ ПРИСТРОЇВ І ЕЛЕКТРОМЕХАНІЧНИХ СИСТЕМ. Методичка 13.69 MB
  Принципова схема печатної плати 13 8 Розробка печатної плати електричної частини електротехнічного пристрою електромеханічної системи в пакеті Р САD 14 8.1 Вибір і обґрунтування конструкції печатної плати 14 8.2 Розробка принципової електричної схеми печатної плати в редакторі Schematic 16 8.5 Трасування печатної плати у середовищі пакета PCAD 20 9 Висновки 21 10 Перелік використаної літератури 21 11 Додатки 22 Список літератури 23 Додаток А Зразок оформлення титульної сторінки 24 Додаток Б Зразок завдання на курсову роботу 25 ВСТУП...
31280. ОСНОВИ АВТОМАТИЗОВАНОГО ПРОЕКТУВАННЯ ЕЛЕКТРОТЕХНІЧНИХ ПРИСТРОЇВ І ЕЛЕКТРОМЕХАНІЧНИХ СИСТЕМ 4.6 MB
  Методичні вказівки щодо виконання лабораторних робіт з навчальної дисципліни „Основи автоматизованого проектування електротехнічних пристроїв і електромеханічних систем” для студентів денної та заочної форм навчання зі спеціальності 6.092200 – „Електромеханічні системи автоматизації та електропривод” (у тому числі скорочений термін навчання)
31281. ОСНОВИ СИЛОВОЇ ПЕРЕТВОРЮВАЛЬНОЇ ТЕХНІКИ 8.41 MB
  Курс Основи силової перетворювальної техніки розрахований на вивчення протягом двох семестрів і складається з трьох основних частин: перетворення змінного струму в постійний струм випрямлячі; імпульсне регулювання постійного і змінного напруги імпульсні перетворювачі; регулювання частоти напруги або струму перетворювачі частоти. Перед тим як приступити до виконання лабораторних робіт необхідно ознайомитися із джерелом живлення в лабораторії щоб зясувати наявність у ньому небезпечної для життя людини напруги. Наявність...