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


 

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

11739. Сортировка и поиск данных: в базе данных и выборках 13.3 KB
  Лабораторная работа №12 Сортировка и поиск данных: в базе данных и выборках. Цель: формирование практических умений и навыков выполнения сортировки в выборках группах таблицах; применения агрегирующих функций вычисляемых полей а также поиска по определенному прост
11740. Фильтрация данных в базе данных и в выборках 14.76 KB
  Лабораторная работа №13 Фильтрация данных в базе данных и в выборках Цель: формирование практических умений и навыков осуществления фильтрации и обобщения информации с помощью представлений курсоров вертикальных таблиц. Закрепить практические умения и навыки раб...
11741. Работа с транзакциями. Кэширование изменений при работе с транзакциями 15.39 KB
  Лабораторная работа №1415 Работа с транзакциями. Кэширование изменений при работе с транзакциями. Цель: формирование практических умений и навыков работы с операторами TransactSQL объединенных транзакцией; создания транзакций; сохранения изменений; выполнение операций
11742. Обеспечение достоверности данных и перехват исключительных ситуаций 14.27 KB
  Лабораторная работа №16 Обеспечение достоверности данных и перехват исключительных ситуаций Цель: формирование практических умений и навыков определения и назначения определенного вида блокировки при работе с транзакциями; типа объекта для осуществления синхрониз
11743. Работа с отчетами 16.13 KB
  Лабораторная работа №17 Работа с отчетами Цель: формирование практических умений и навыков построения отчетов определение и составление запросов необходимых для содержания отчета. Ход работы Задание 1: Составить 3 запроса и сделать для них отчет: В Word Со
11744. Установка привилегий доступа 15.53 KB
  Лабораторная работа №18 Установка привилегий доступа Цель: формирование практических навыков в создании пользователей полей с помощью transactSQL. Установление привилегий пользователя роли обмена и изменение привилегий указанных для пользователя. Ход работы: Зада
11745. Автоматизированное тестирование 311.5 KB
  Лабораторная работа № 7. Автоматизированное тестирование. Цель: закрепить учебные навыки по автоматизированному тестированию. Ход работы 1. procedure TForm1.Button1ClickSender: TObject; VAR a: array [1..3] of real; zssum:real; ixns1:integer; begin n:=STRTOINTedit1.Text; x:=1; z:=0; s1:=10; For i:= 1 to 3 do begin ...
11746. Использование методов защиты информации в программах 99 KB
  ЛАБОРАТОРНАЯ РАБОТА № 8. Использование методов защиты информации в программах. Цель работы: освоить на практике методы защиты информации. Ход работы 1. Написать программу которая с использованием криптосистемы RSA шифрут сообщение: Истоpия кpиптогpафии pовесница
11747. Работа в составе бригады 42 KB
  Лабораторная работа №10. Работа в составе бригады. Цель: научиться коллективно обрабатывать разрабатывать отлаживать программные продукты. Ход работы Разработать программу выполняющую вычислительные действия над комплексными числами . var Form1: TForm1; ...