Реферат: Калькулятор на VB - это легко
Рассмотрение первой и второй особенности не представляет особого интереса, поскольку это нетрудно проверяется, сравнивая значение табло с "нулём" и количеством допустимых символов соответственно.
Второе число вводится после указания желаемой арифметической операции, где в соответствующей процедуре укажем значение "внутренней" переменной Tag кнопки Ravno значение "второе". И как только введена первая цифра "второго" числа, данная переменная становится пустым символом.
Для реализации режима ввода дробного числа воспользуемся также свойством Tag , но уже объекта Tablo , так что если его значение равно "не целое", то слева от введённой цифры будет ноль.
Данные выкладки можно реализовать в виде такого программного кода:
Private Sub knopka_Click(Index As Integer)
' если были выбраны равно или операция - ввод нового числа:
If Ravno.Tag = "второе" Then Tablo.Caption = "0": Ravno.Tag = ""
If Len(Tablo.Caption) < 16 Then
' если длина не превышает допустимой длины числа:
If Tablo.Caption = "0." And Tablo.Tag = "" Then
' если на табло ноль и нет режима начала ввода дробного числа - заменяем цифрой c точкой:
Tablo.Caption = Index & "."
Else
If Mid(Tablo.Caption, Len(Tablo.Caption), 1) = "." And Tablo.Tag <> "нецелое" Then
' на табло целое число и нет режима ввода дробного числа - добавляем цифру и ставим точку в конце:
Tablo.Caption = Mid(Tablo.Caption, 1, Len(Tablo.Caption) - 1) & Index
Else
' на табло дробное число или режим ввода дробного числа - добавляем цифру надписи табло
Tablo.Caption = Tablo.Caption & Index
End If
End If
End If
Tablo.Tag = "" ' возможен (...) вводдробногочисла
End Sub
Однако этого кода достаточно чтобы обеспечить ввод целых положительных чисел. Добавим ещё две относительно простые по пониманию процедуры. Первая - изменение знака числа:
Private Sub Plusmin_Click()
Select Case Val(Tablo.Caption)
' меньше нуля - "удаляем" минус:
Case Is < 0