Калькулятор на 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

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

Полная версия программы калькулятор на 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)

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