Private Sub cmdCompare_Click()
End Sub
Чтобы создать обработчик для другого события, необходимо выбрать событие в правом списке в окне кода (см. рис. 10).
В списке довольно много различных событий. В левом списке вы можете выбрать доступные элементы управления, которые помещены на форму. В данном случае в списке вы видите cmdCompare.
Заметьте, что у процедуры обработки события 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
Нажмите на кнопку “Сравнение”. Если вы всё делали правильно, то должны увидеть следующую картину:
Рис. 11. Результат работы программы
Программа выдала верный результат. Можете поэкспериментировать, вводя разные значения коэффициентов.
Но, обратите внимание! Что произойдёт, если мы, не введя значения в поля, нажмём на кнопку? Что тогда присвоиться нашим переменным? Visual Basic сгенерирует ошибку.
4.Отладка программы
Если в программе найдены ошибки, то надо их исправлять. Запустите программу. Ничего не вводя в поля нажмите на кнопку. Visual Basic выдаст окно, в котором скажет: “Type mismatch”, т.е. ошибка в типах (см. рис. 12).
В окне доступны 3 кнопки:
End – завершить приложение;
Debug – показать место возникновения ошибки, чтобы мы смогли от неё избавиться;
Help – вызвать справку о возникшей ошибке.
Нажмите Debug. Visual Basic покажет вам причину возникновения ошибки:
Жёлтым цветом выделена строка - причина ошибки. Если навести курсор мыши на имя переменной, то всплывёт подсказка, в которой Visual Basic сообщит нам её значение. Такая возможность доступна только в режиме Debug.
Текущий режим можно узнать из заголовка окна Visual Basic. Например:
· в режиме проектировки интерфейса это строка:
Имя_Проекта - Microsoft Visual Basic [design]
· при запущенном приложении:
Имя_Проекта - Microsoft Visual Basic [run]
· в режиме Debug:
Имя_Проекта - 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. Как осуществляется запуск программы и отладка при возникновении ошибок?