Private Sub cmdCompare_Click()

End Sub

Чтобы создать обработчик для другого события, необходимо выбрать событие в правом списке в окне кода (см. рис. 10).

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

Private Sub cmdCompare_Click() - student2.ru

Заметьте, что у процедуры обработки события Click нет входных параметров, о чём нам говорят пустые скобки. Добавить свои параметры в эту процедуру нельзя. У процедур обработки некоторых других событий могут быть параметры. Например, у события MouseMove (координаты курсора мыши) или KeyUp (код отжатой клавиши). Эти параметры передаются незаметно для программиста, и их можно использовать по своему усмотрению (а можно и вовсе не использовать).

Теперь давайте приступим непосредственно к программированию. Для начала объявим переменные с типом Double (для хранения вещественных чисел):

Private Sub cmdCompare_Click()

' объявляем переменные

Dim paramA As Double

Dim paramB As Double

End Sub

Теперь считаем введённые параметры A и B. Для этого присвоим переменным paramA и paramBзначения свойства Textэтих полей для ввода (TextBox). Мы можем это сделать потому, что Visual Basic сам преобразует число в строке в обычное число с плавающей точкой. Получим следующий код (далее все вставки будем делать в эту функцию):

Private Sub cmdCompare_Click()

' объявляем переменные

Dim paramA As Double

Dim paramB As Double

paramA = txtParamA.Text
paramB = txtParamB.Text

End Sub

Доступ к свойству любого элемента управления осуществляется через точку, которая разделяет имя свойства и имя элемента. Обратите внимание на технологию Intellisence. Visual Basic выдает список доступных свойств этого элемента управления. Это очень удобно. Вам не придётся выучивать наизусть длинные и сложные названия свойств. Достаточно выбрать нужное свойство из списка и всё.

Теперь нам нужно написать условия, используя конструкцию If…Else…EndIf:

If (paramA > paramB) Then

txtResult.Text = "Первое число больше второго"

Else

txtResult.Text = "Второе число больше первого"

End If

Не забывайте про отступы! С ними код намного нагляднее. Отступы ставятся клавишей Tab. А повторяющиеся коды программы лучше копировать и вставлять в нужное место.

Программа уже практически готова. Осталось только описать коды для кнопки «Закрыть». Код будет выглядеть так:

Private Sub cmdExit_Click()

End

End Sub

Теперь можно запустить программу и проверить, верно ли она работает. Нажмите кнопку Start. Появится наша форма. Введите значения в поля:

А = 3, В = 6

Нажмите на кнопку “Сравнение”. Если вы всё делали правильно, то должны увидеть следующую картину:

Private Sub cmdCompare_Click() - student2.ru

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

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

Но, обратите внимание! Что произойдёт, если мы, не введя значения в поля, нажмём на кнопку? Что тогда присвоиться нашим переменным? Visual Basic сгенерирует ошибку.

4.Отладка программы

Если в программе найдены ошибки, то надо их исправлять. Запустите программу. Ничего не вводя в поля нажмите на кнопку. Visual Basic выдаст окно, в котором скажет: “Type mismatch”, т.е. ошибка в типах (см. рис. 12).

Private Sub cmdCompare_Click() - student2.ru В окне доступны 3 кнопки:

End – завершить прило­жение;

Debug – показать место возникновения ошибки, чтобы мы смогли от неё избавиться;

Help – вызвать справку о возникшей ошибке.

Нажмите Debug. Visual Basic покажет вам причину возникновения ошибки:

Private Sub cmdCompare_Click() - student2.ru Жёлтым цветом выделена строка - причина ошибки. Если навести курсор мыши на имя переменной, то всплывёт подсказка, в которой Visual Basic сообщит нам её значение. Такая возможность доступна только в режиме Debug.

Текущий режим можно узнать из заголовка окна Visual Basic. Например:

· в режиме проектировки интерфейса это строка:

Имя_Проекта - Microsoft Visual Basic [design]

· при запущенном приложении:

Имя_Проекта - Microsoft Visual Basic [run]

· в режиме Debug:

 
  Private Sub cmdCompare_Click() - student2.ru

Имя_Проекта - Microsoft Visual Basic [break]

Наведите мышкой на txtParamA.Text. VB сообщит о том, что значение текстового поля txtParamA.Text = "" (пустым кавычкам, или по другому - пустой строке). Здесь можно догадаться, почему происходит ошибка несовпадения типов. Ведь переменная paramA должна хранить вещественное число, а здесь мы пытаемся присвоить ей строковое значение – «». Если бы paramA имела тип String, или в txtParamA.Text была бы строка - число («123») - ошибка бы не возникла. А здесь Visual Basic просто не может сам конвертировать строку «» в число типа Double. Давайте изменим код:

paramA = txtParamA.Text
paramB = txtParamB.Text

На код:

paramA = Val(txtParamA.Text)
paramB = Val(txtParamB.Text)

Теперь ошибок несовпадения типов быть не может, т.к. функция Val при любом параметре возвратит число, а сама функция Val никогда не вызовет ошибки.

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

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

If (paramA > paramB) Then

txtResult.Text = "Числа равные"

Else

If (paramA > paramB) Then

txtResult = "Первое число больше второго"

Else

txtResult = "Второе число больше первого"

End If

End If

5.Окончательная компиляция

Наша программа отлажена. Однако в ряде случаев возникает необходимость создания exe-файла. Для этого необходимо проделать следующие манипуляции:

1. В меню File выбрать Make имя_проекта.exe (например, Project1.exe)

2. Ввести имя выходного exe-файла (наберите, к примеру, “Площадь”)

3. Если необходимо, то выбрать некоторые опции, нажав на кнопку Options. (К этим опциям также можно добраться через меню Project→Project Properties).

4. Нажать ОК, и, если Visual Basic не найдёт никаких ошибок в программе, то откомпилирует её и сохранит в указанном вами каталоге под указанным вами именем.

Теперь можно запустить полученный exe файл и проверить его работоспособность. Теперь вы можете транспортировать его куда хотите, принести куда-то и т.д.

Контрольные вопросы

1. Основные этапы создания приложений на языке Visual Basic.

2. Назначение этапа анализа программы.

3. Назначение этапа разработки интерфейса.

4. Назначение этапа написания программных кодов.

5. Назначение этапа отладки программы.

6. Назначение этапа компиляции программы.

7. Основные типы переменных в Visual Basic.

8. Понятие выражения. Операторы, виды операторов.

9. Управляющие конструкции языка Visual Basic. Ветвления и циклы. Примеры.

10. Как осуществляется запуск программы и отладка при возникновении ошибок.

11. Понятие принципа по умолчанию. Что такое константа. Приоритет операторов. Примеры.

12. Основные типы переменных в Visual Basic. Что такое константа? Примеры.

13. Понятие выражения. Операторы, виды операторов.

14. Управляющие структуры языка Visual Basic. Ветвления и циклы. Примеры.

15. Как осуществляется запуск программы и отладка при возникновении ошибок?

Наши рекомендации