Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Visual Basic.doc
Скачиваний:
105
Добавлен:
09.04.2015
Размер:
1.1 Mб
Скачать

События клавиатуры

Имя события

Когда происходит

KeyDown

При нажатии клавиши. Применяется для отслеживания нажатия функциональных клавиш, клавиш навигации и других, используемых для управления программой

KeyPress

При нажатии и затем отпускании одной из символьных клавиш. При нажатии не символьных клавиш событие не происходит

KeyUp

При отпускании ранее нажатой клавиши. Применяется для отслеживания нажатия функциональных клавиш, клавиш навигации и других, используемых для управления программой

Объекты, классы, коллекции

Объектами являются форма и управляющие элементы, помещенные на форму. Есть глобальные объекты VB.

Глобальные объекты VB

Объект

Описание

App

Приложение, содержит сведения об исполняющейся программе

Clipboard

Обеспечивает доступ к буферу обмена Windowsи позволяет программе обмениваться данными с другими приложениями.

Debug

Отладка. Предназначен для облегчения поиска ошибок

Err

Содержит информацию об ошибках периода выполнения.

Error

Служит для отладки приложений, работающих с базами данных

Printer

Позволяет обращаться к принтеру, как к объекту

Screen

Позволяет обращаться к экрану, как к объекту

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

Большинство объектов кроме свойств также располагают методами. Метод позволяет выполнить определенное действие с объектом.

Вот некоторые примеры методов:

Имя метода

Назначение

Circle

Позволяет нарисовать на поверхности формы или управляющего

элемента PictureBoxокружность, эллипс и сектор

Cls

Удаляет с поверхности формы или объекта PictureBox

результаты графического и текстового вывода

Hide

Удаляет форму с экрана без выгрузки ее из памяти

Line

Рисует линии и прямоугольники на рабочей поверхности

формы или управляющего элемента PictureBox

Move

Перемещает объект в точку с заданными координатами

PSet

Рисует точку заданного цвета с заданными координатами на

поверхности формы или управляющего элемента PictureBox

SetFocus

Перемещает фокус клавиатуры на данный объект

Show

Отображает форму на экране

Size

Изменяет размеры объекта

К свойствам и методам объекта можно обратиться следующим образом:

ИмяОбъекта. Имя Свойства

ИмяОбъекта. Имя Метода

Например, выполнение приведенной ниже инструкции приведет к удалению окна формы с экрана:

Form1.Hide

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

Класс представляет собой шаблон объекта. А объект в этой связи – это одна из копий, созданных по заданному классом шаблону. По аналогии с переменными класс можно рассматривать как тип, а объект, как переменную этого типа.

Объектно-ориентированные языки (С++) поддерживают инкапсуляцию, полиморфизм и наследование.

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

В объектно-ориентированных языках, поддерживающих наследование возможно создание новых классов на основе уже существующих. При этом вновь созданный класс обладает всеми функциональными возможностями класса-родителя. Этот механизм называют наследованием.

VBподдерживает инкапсуляцию, отчасти поддерживает полиморфизм, но не поддерживает наследование.

Возможно объявление переменной объектного типа, значением которой является объект. Синтаксис объявления такой переменной:

Public/Private/Dim ИмяПеременной As [New] ИмяОбъектногоТипа

В качестве объектного типа рекомендуется вместо общих типов ObjectиControlприменять по возможности конкретные классы (такие как, например,LabelилиTextBox). В этом случае приложение будет работать быстрее. Список конкретных классов можно увидеть в окнеObject Browser, которое можно открыть, щелкнув на кнопкена панели инструментов.

Примеры объявления переменных объектного типа:

Dim a As Object

Dim b As Control

Dim c As Label

Применение необязательного зарезервированного слова Newозначает необходимость создания нового управляющего элемента указанного типа.

Чтобы переменная объектного типа содержала ссылку на объект, следует воспользоваться инструкцией, имеющей синтаксис:

Set ИмяПеременной = [New] Ссылка

Если ссылка указывает на несуществующий объект, то применение необязательного зарезервированного слова Newприведет к созданию нового объекта.

Коллекции

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

Так свойство Countсодержит число объектов коллекции.

Некоторые методы коллекций

Имя метода

Назначение

Item

Позволяет выбрать объект в коллекции

Add

Включает объект в состав коллекции

Remove

Исключает объект из состава коллекции

Коллекция должна быть объявлена программистом с применением синтаксиса:

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

Для работы с элементами коллекции в VB предусмотрена инструкция цикла For Each … In … Next(для каждого … в …).

Синтаксис:

For Each Экземпляр In Коллекция

[Инструкции]

[Exit For]

[Инструкции]

Next

Эта инструкция повторяет выполнение группы инструкций для каждого экземпляра коллекции.

Пример.

Объявлены коллекция и три переменные, которые включены в коллекцию. Затем все содержимое коллекции распечатано (см. рис. 18.1).

Private Sub Form_Click()

Dim List As New Collection

Dim i As Integer

Dim s As Single

Dim st As String

Dim v As Variant

i = 3

s = 1.5

st = "Test"

List.Add st

List.Add s

List.Add i

For Each v In List

Print v,

Next

End Sub

Рис. 18.1. Результат работы программы

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

  • Forms. В эту коллекцию включены все загруженные формы проекта.

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

В качестве примера рассмотрим процедуру, которая текст на всех надписях делает красного цвета.

Private Sub Command1_Click()

Dim КоллекцияНадписей As New Collection

Dim x As Control

For Each x In Controls

If TypeOf x Is Label Then

КоллекцияНадписей.Add x

End If

Next

For Each x In КоллекцияНадписей

x.ForeColor = RGB(255, 0, 0)

Next

End Sub

Первый цикл в этой программе просматривает все управляющие элементы проекта. Если управляющий элемент – надпись, то он включается в коллекцию КоллекцияНадписей.

Второй цикл просматривает все элементы коллекции КоллекцияНадписейи устанавливает красный цвет текста на каждом элементе этой коллекции.

В VBпредусмотрена возможность определения новых классов. Однако эту важную тему мы вынуждены оставить за рамками нашего внимания.