Калькулятор на VB

18 октября 2018 - Администратор

Форматированный ввод в Vb

В этом уроке мы создадим калькулятор на VB, рассмотрим элемент MaskedTextBox. Программа позволит складывать, вычитать, умножать, делить и возводить в степень введённые числа и выводить полученный результат. Чтобы создать программу калькулятор на Vb, мы будем использовать специальные элементы MaskedTextBox 

Создадим интерфейс программы

1 В Toolbox находим элемент MaskedTextBox, размещаем на форме 2 данных элемента.

2  Размещаем кнопки Button для каждой математической операции и называем эти кнопки Сложение, Вычитание, Умножение, Деление, Степень. Для вывода  результата используем объект Label. Подробно о кнопках можно посмотреть на уроке простейшая программа на Vb. В итоге получается следующий интерфейс

Для каждого введённого числа вводим глобальную переменную вещественного типа. Глобальные перменные объявляются сразу после Public Class Form1. Глобальные переменные могут быть изменены и использованы в любой процедуре и функции программы. В нашем случае для первого числа мы ввели перменную first, для второго числа ввели переменную second.

Dim first As Double

Dim second As Double

Настроим элементы для ввода инофрмации MaskedTextBox так, чтобы в эти поля можно было вводить только числа.

Для этого в свойстве Mask элемента MaskedTextBox в параметре нажимаем на кнопку с многоточием

Нажимаем на строку Custom и в поле Mask вводим несколько нулей, нажимаем «ОК». После подобной настройки в поля MaskedTextBox можно будет вводить только числа. Это позволит избежать ситуаций, когда пользователь вводит недопустимые значения, например текст. При нажатии на кнопку с действием выполняется соответствующее математическое действие с введёнными числами. 

Перед выполнением любой операции необходимо проверить, что в оба поля введены числа. Для этого будем использовать условный оператор if.  Если  хотя-бы одно поле пустое, то выводим сообщение «Введите число!». 

If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then

            Label4.Text = "Введите число!"

            Exit Sub

        End If

Если в оба поля введены числа, то запишем в переменные first и second значения из полей MaskedTextBox с помощью обращения к свойству Text. Выполним математическую операцию с переменными и запишем результат в элемент Label3, меняя свойство Text данного элемента.

         first = MaskedTextBox1.Text

        second = MaskedTextBox2.Text

        Label1.Text = "+"

        Label3.Text = first + second

Аналогично для всех действий калькулятора

Полная версия программы калькулятор на vb

Public Class Form1
    Dim first As Double
    Dim second As Double
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label4.Text = "-"
        If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then
            Label4.Text = "Введите число!"
            Exit Sub
        End If
        first = MaskedTextBox1.Text
        second = MaskedTextBox2.Text
        Label1.Text = "+"
        Label3.Text = first + second
    End Sub 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then
            Label4.Text = "Введите число!"
            Exit Sub
        End If
        first = MaskedTextBox1.Text
        second = MaskedTextBox2.Text
        Label1.Text = "-"
        Label3.Text = first - second
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then
            Label4.Text = "Введите число!"
            Exit Sub
        End If
        first = MaskedTextBox1.Text
        second = MaskedTextBox2.Text
        Label1.Text = "*"
        Label3.Text = first * second
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then
            Label4.Text = "Введите число!"
            Exit Sub
        End If
        first = MaskedTextBox1.Text
        second = MaskedTextBox2.Text
        Label1.Text = "/"
        Label3.Text = first / second
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If MaskedTextBox1.Text = Nothing Or MaskedTextBox2.Text = Nothing Then
            Label4.Text = "Введите число!"
            Exit Sub
        End If
        first = MaskedTextBox1.Text
        second = MaskedTextBox2.Text
        Label1.Text = "^"
        Label3.Text = Math.Pow(first, second)
    End Sub

End Class

 Вернуться к содержанию

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!