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

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

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

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

В Toolbox находим элемент MaskedTextBox, вставляем его в количестве двух штук. 

Также всталяем  кнопки Button  для каждой математической операции. Для вывода  результата используем объект Label.  Подробно о кнопках можно посмотреть на уроке простешая программа на Vb. Должна получиться такая форма:

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

Dim first As Double

Dim second As Double

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

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

Нажимаем на строку Custom  и в поле Mask вводим  несколько нулей, нажимаем «ОК». После проделанных действий в поля можно ввести только числа. Это позволит избежать ситуаций, когда пользователь вводит недопустимые значения, например, текст. Когда мы в форме нажимаем на кнопку с действием (сложение, вычитание…), выполняется это действие. При нажатии кнопки выполнится это действие, а если не введено ни одного числа, то выводится сообщение: «Введите число!»

 Чтобы это сообщение исчезало при выполнении каждого действия, при нажатии кнопки будем вводить пустое значение:

Label4.Text = "-"

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

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

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

            Exit Sub

        End If

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

         first = MaskedTextBox1.Text

        second = MaskedTextBox2.Text

        Label1.Text = "+"

        Label3.Text = first + second

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

Полная версия программы:

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)

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