См. лекции «Основы создания форм в VBA»
Калькулятор
Создадим приложение-калькулятор, который должен иметь следующий вид:
Левое верхнее текстовое поле предназначено для отображения вводимых цифр, а правое - для показа выбранного знака.
Заготовка:
1. Два текстовых поля с именами Text1 и Text2 для ввода чисел и знака операции.У них свойство Enabled поставьте равным False, чтобы их нельзя было изменять.
2. Кнопки для обработки математических действий: сложения – cmdAdd, вычитания – cmdSubtrac, умножения – cmdMultiplic, деления – cmdDivis, возведения в квадрат – cmdExponent, извлечение квадратного корня – cmdExtrac, получения числа обратного данному – cmdInverse и получения результата – cmdResult.
3. Для ввода чисел необходимо составить в массив элементов управления из 10-ти командных кнопок (нумерация начинается с нуля). Для этого поставьте на форму командную кнопку с именем – cmdNumber, скопируйте её в буфер обмена и, вставляя на форму, изменяйте значения свойства Caption новой командной кнопки в соответствии со свойством Index.
|
|
Теперь пишем код:
‘Вводим две переменные, для присвоения им значений, которые мы введем на калькуляторе
Dim a As String
Dim b As String
‘При нажатии на кнопку с определенной цифрой она отображается в текстовом поле №1.
Private Sub cmdNumber_Click(Index As Integer)
'При нажатии на кнопку с цифрой "1", в текстовом поле появится "1"
Text1.Text = Text1.Text & CStr(Index) ' "1"
End Sub
Private Sub cmdMultiplic_Click()
'После нажатия на "*", присваиваем переменной "а" из текстового поля №1
а = Text1.Text
' В маленькое текстовое поле, пишем знак "*"
Text2.Text = "*"
' Очищаем текстовое поле №1.
Text1.Text = ""
End Sub
Private Sub cmdSubtrac_Click()
‘После нажатия на "-", присваиваем переменной "а" число из текстового поля №1
а = Text1.Text
Text2.Text = "-"
Text1.Text = ""
End Sub
Private Sub cmdDivis_Click()
‘После нажатия на "/" присваиваем переменной "а" число из текстового поля №1
а = Text1.Text
Text2.Text = "/"
Text1.Text = ""
End Sub
Private Sub cmdResult_Click()
'При нажатии на "=", присваиваем переменной "b" второе значение, но тоже из текстового поля №1
b = Text1.Text
'Смотрим, какой знак б текстовом поле №2 и делаем нужное действие
If Text2.Text = "*" Then
Text1.Text = a * b
End If
If Text2.Text = "/" Then
Text1.Text = a / b
End If
If Text2.Text = "-" Then
Text1.Text = a - b
End If
End Sub
Командная кнопка cmdClear сбрасывает все введённые значения:
Private Sub cmdClear_Click()
Очищаем текстовые поля
Text1.Text = "" Text2.Text = ""
End Sub