Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MS_VB_dop_vozm_5_04.doc
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
1.64 Mб
Скачать
      1. Объект Err

Объект Err содержит описание последней ошибки, произошедшей при выполнении программы. Рассмотрим основные свойства и методы объекта.

Свойства объекта Err.

Свойство Number — целое число, которое указывает код последней произошедшей ошибки. Для определения возвращаемых ошибок следует контролировать значение Err.Number.

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

Свойство Description — строка, которая содержит описание ошибки.

Свойство Source содержит имя приложения, которое сгенерировало ошибку. Например, если пользователь вызывает Microsoft Excel и он генерирует ошибку, Err.Number будет содержать код ошибки, a Err.Source устанавливается равным Excel.Application.

Некоторые значения часто возникающих ошибок выполнения (значения свойства Number) приведены в таблице 1.2.

Таблица 1.2

Значения наиболее часто возникающих ошибок

Код ошибки

Объяснение

0

Нет ошибок

6

Переполнение памяти

11

Деление на ноль

53

Файл не найден

57

Ошибка ввода / вывода (например, попытка печати при выключенном принтере).

68

Устройство недоступно (устройство не существует или недоступно в данный момент).

Методы объекта Err.

Метод Clear сбрасывает значение Err.Number в ноль.

Метод Raise устанавливает ошибку. Этот метод используется для передачи ошибки обратно в вызывающую процедуру или тестирования кода обработки ошибок. Например: Err.Raise 53 ' Установить ошибку "Файл не найден"

    1. Обработка событий мыши и клавиатуры

      1. Обработка событий мыши

В Visual Basic поддерживаются следующие основные события мыши (таблица 1.3). Обработка событий Cick и DblClick.

Процедура обработки события Click имеет синтаксис:

Private Sub Имя_элемента_управления_Click()

Программный код обработки события

End Sub

Процедура обработки события DblClick имеет синтаксис:

Private Sub Имя_элемента_управления_DblClick()

Программный код обработки события

End Sub

Таблица 1.3

События мыши

Событие

Описание

Click/DblClick

Событие происходит при щелчке/двойном щелчке мыши

MouseDown

Происходит, когда нажимается кнопка мыши

MouseMove

Генерируется при перемещении мыши

MouseUp

Генерируется при отпускании кнопки мыши. Возникает после события MouseDown

Рассмотрим пример программы обработки события Cick и DblClick.

Пример 1.4. Программа по щелчку или двойному щелчку по метке с надписью “СОБЫТИЕ” выводит сообщение “Щелчок” или “Двойной щелчок” в текстовом окне.

Последовательность разработки программы следующая:

1. В форму поместим элементы управления: метку Label1 и текстовое окно Text1.

2. В процедуру обработки события Form_Load () введем код:

Private Sub Form_Load ()

Label1.Caption=“СОБЫТИЕ”

Text1.text=“”

End Sub

3. В процедуру обработки события Label1_Click () введем код:

Private Sub Label1_Click ()

Text1.text=“Произведен один щелчок”

End Sub

4. В процедуру обработки события Label1_DblClick () введем код:

Private Sub Label1_DblClick ()

Text1.text=“Произведен двойной щелчок”

End Sub

5. Запустим программу на выполнение. После щелчка по метке с надписью “СОБЫТИЕ” в текстовом окне появится сообщение “Произведен один щелчок”, а после двойного щелчка – “Произведен двойной щелчок”.

Обработка событий MouseUp и MouseDown. Процедуры событий MouseUp и MouseDown имеют соответственно следующий синтаксис:

Private Sub Имя_элемента_управления_MouseDown(Button

As Integer, Shift As Integer,

X As Single, Y As Single)

Программный код обработки события

End Sub

Private Sub Имя_элемента_управления_MouseUp(Button

As Integer, Shift As Integer,

X As Single, Y As Single)

Программный код обработки события

End Sub

где

Имя_элемента_управления – имя элемента управления, в области которого возникло событие;

MouseDown | MouseUp – обрабатываемое событие

Button – целое число или константа, сообщающие о том, какие кнопки мыши нажаты;

Shift – целое число, сообщающее о том какие из клавиш [Shift], [Ctrl], или [Alt] нажаты;

X – координата указателя мыши по горизонтали;

Y – координата указателя мыши по вертикали;

Допустимые значения параметров Button и Shift приведены соответственно в таблицах 1.4 и 1.5.

Таблица 1.4

Основные значения и описание параметра Button

Десятичное представление

Константа

Нажатые клавиши

0

Нет

1

vbLeftButton

Левая

2

vbRightButton

Правая

4

vbMiddleButton

Средняя

Таблица 1.5

Основные значения и описание параметра Shift

Десятичное представление

Константа

Нажатые клавиши

0

Нет

1

vbShiftMask

Shift

2

vbCtrlMask

Ctrl

4

vbAltMask

Alt

Пример 1.5. В следующем фрагменте программы при нажатии кнопки мыши на поле формы frMouse в соответствующих метках (lblMouse, lblButton, lblShift) появляется сообщение о координатах мыши, ее нажатой кнопке и комбинации управляющих клавиш.

Private Sub frMouse_MouseDown(Button As Integer,

Shift AsInteger, X As Single, Y As Single)

Dim strButton As String ‘ для преобразованного значения

параметра Button

Dim strShift As String ‘ для преобразованного значения

параметра Shift

Dim strX As String ‘ для преобразованного значения параметра X

Dim strY As String ‘ для преобразованного значения параметра Y

преобразование целых значений параметров X и Y в строки

StrX=Cstr(X)

StrY=Cstr(Y)

проверка значения Shift с помощью оператора выбора Select Case для выяснения того, какие из клавиш Shift, Ctrl, Alt нажаты, здесь же происходит присвоение результата проверки строковой переменной strShift

Seleсt Case Shift

Case 0

StrShift =“”

Case 1

StrShift =“Shift”

Case 2

StrShift =“Ctrl”

Case 3

StrShift =“Shift + Ctrl”

Case 4

StrShift =“Alt”

Case 5

StrShift= “Shift + Alt”

Case 6

StrShift= “Ctrl + Alt”

Case 7

StrShift =“ Shift + Ctrl+ Alt”

End Select

проверка значения Button с помощью оператора выбора Select Case для определения комбинации нажатых клавиш мыши, здесь же происходит присвоение результата проверки строковой переменной StrButton

Select Case Button

Case 0

StrButton = “”

Case 1

StrButton = “Left”

Case 2

StrButton = “Right”

Case 3

StrButton = “Left + Righ”

Case 4

StrButton = “Middle”

Case 5

StrButton = “Left + Middle”

Case 6

StrButton = “Right + Middle”

Case 7

StrButton = “All”

End Select

сообщение о вызове соответствующего события

lblMouse.Caption = “Событие MouseDown”

сообщение о том, какая комбинация клавиш нажата

lblShift.Caption = StrShift

сообщение о том, какие кнопки мыши нажаты

lblButton.Capton = StrButton

End Sub

Private Sub frMouse_MouseUp(Button As Integer, Shift

As Integer, X As Single, Y As Single)

сообщение о вызове соответствующего события

lblMouse.Caption = “Событие MousUp”

End Sub

Обработка события MouseMove. Процедура этого события имеет синтаксис:

Private Sub Имя_элемента_управления_MouseMove(Button

As Integer, Shift As Integer, X As Single,

Y As Single)

Код обработки события

End Sub

где:

Имя_элемента_управления – имя элемента управления, в области которого произошло событие;

MouseMove – обрабатываемое событие

Button – целое число, сообщающее о том, какие кнопки мыши нажаты;

Shift – целое число, сообщающее о том какие из клавиш [Shift], [Ctrl], или [Alt] нажаты;

X – координата указателя мыши по горизонтали;

Y – координата указателя мыши по вертикали.

Допустимые значения параметров Button и Shift приведены соответственно в таблицах 1.4 и 1.5.

Пример 1.6. Генерация вывода информации в метку lblCursor о положении указателя мыши на поле формы frMouse.

Private Sub frMouse_MouseMove (Button As Integer,

Shift As Integer, X As Single, Y As

Single)

Dim strX As String ‘ для преобразованного значения параметра X

Dim strY As String ‘ для преобразованного значения параметра Y

преобразование целых значений параметров X и Y в строковые

StrX=Cstr(X)

StrY=Cstr(Y)

вывод на экран информации о положении указателя мыши

lblCursor.Caption = “X:” + strX + “,” + “Y:” +strY

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]