Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть2.doc
Скачиваний:
24
Добавлен:
02.02.2015
Размер:
870.4 Кб
Скачать

5.2.6. Код программы

Процедура, которая обрабатывает событие "Щелчок на кнопке Вычислить", представлена ниже.

Option Explicit

Private Sub cmdВычислить_Click()

'Объявление переменных

Dim sngПроцент As Single, _

sngОтклонение As Single, _

strОтклонение As String

'Вычисление процента выполнения плана

sngПроцент = CSng(txtФакт) / CSng(txtПлан) * 100

'Вычисление процента отклонения от плана

If sngПроцент > 100 Then

sngОтклонение = sngПроцент - 100

strОтклонение = "План перевыполнен на " & _

Format(sngОтклонение, "0.00") & "%"

ElseIf sngПроцент < 100 Then

sngОтклонение = 100 - sngПроцент

strОтклонение = "План недовыполнен на " & _

Format(sngОтклонение, "0.00") & "%"

Else

strОтклонение = "План выполнен на 100%"

End If

'Вывод сообщения

lblРезультат = strОтклонение

End Sub

5.2.7. Реализация проекта

  1. Запустить на выполнение VB для создания нового проекта.

  2. Задать заголовок формы «Отклонение от плана» и ее имя frmОтклонение.

  3. На форме создать надписи и текстовые поля для исходных данных План и Факт.

  4. Создать кнопку «Вычислить».

  5. Под кнопкой «Вычислить» создать надпись для области результата.

  6. Ввести код процедуры, обрабатывающей нажатие кнопки «Вычислить».

  7. Сохранить форму и проект в папке на диске D:.

5.2.8. Анализ проекта

Объявление переменных осуществляется в операторе Dim (явное объявление). Поскольку оператор занимает несколько строк, то для его продолжения на следующей строке использованы символы переноса «пробел» и «подчеркивание».

Для выполнения вычислений в правой части оператора присваивания используется функция CSng(), преобразующая строковое значение к типу Single.

Для реализации разветвления применяется расширенная форма условного оператора.

При формировании сообщения о результатах вычислений употребляется операция сцепления строк &. Для представления численного значения результата strОтклонение с точностью до двух разрядов в дробной части используется функция Format.

Вывод результата осуществляется путем присвоения надписи lblРезультат значения переменной strОтклонение, которая содержит текст сообщения.

Для вывода результата можно также использовать оператор MsgBox, который в простейшем случае имеет вид:

MsgBox <Сообщение>

Выполнение этого оператора приводит к появлению диалогового окна с указанным текстом (рис. 5.4). В нашем случае строку в коде

lblРезультат = strОтклонение

нужно заменить строкой

MsgBox strОтклонение

Рис. 5.4. Вывод результата с использованием оператора MsgBox

Оператор MsgBox можно также использовать для вывода сообщения об ошибке, если не задан план или он равен нулю (деление на ноль запрещено). Для обработки такой ошибки нужно в коде программы перед вычислением процента вставить следующий фрагмент:

'Обработка ошибки

If (txtПлан = "") Or (txtПлан = "0") Then

MsgBox "Не задан план"

Exit Sub

End If

Здесь использована краткая форма оператора If.

Проверка обоих условий основана на том, что значение текстового поля имеет тип String (константа "" обозначает пустую строку, а «0» – что в поле txtПлан введен ноль).

Условие после слова If выполняется (то есть имеется ошибка), если выполняется хотя бы одно из условий, поэтому два условия связаны логической операцией Or.

В случае обнаружения ошибки выводится сообщение оператором MsgBox, а затем происходит выход из процедуры обработки события нажатия на кнопку «Вычислить» благодаря наличию оператора Exit Sub. Поэтому при обнаружении ошибки вычисления не производятся, но выполнение приложения продолжается. Пользователь имеет возможность ввести значение плана или прекратить выполнение приложения, закрыв его окно.