Cromewell said:
To work around that, in each button press (it's technically better to make this it's own function but it's so small there's no point), check if txt_display contains "0" (ie
If cint(txt_display.text) = 0 Then
txt_display = <number pressed>
End If
)
I don't know you you allow people to type directly into the text box but you can create a similar process for that as well as restrict what keys it will accept.
I don't think that would work, becuase that would just let the user enter one digit. (Unless they entered zero)
Here, I've fixed that problem I think, and a divide by zero problem.
And good morning, or good night.
Dim var_First_Number As Double
Dim var_Second_Number As Double
Dim var_Operator As String
Private Sub cmd_Clear_Click()
txt_Display = 0
End Sub
Private Sub cmd_Divide_Click()
If txt_Display = 0 Then
MsgBox "Please enter a value", , "Incorrect Function"
Else
var_First_Number = txt_Display
var_Operator = "Div"
txt_Display = ""
End If
End Sub
Private Sub cmd_Eight_Click()
txt_Display = txt_Display & 8
End Sub
Private Sub cmd_Equals_Click()
var_Second_Number = txt_Display
If var_Operator = "Add" Then
txt_Display = var_First_Number + var_Second_Number
ElseIf var_Operator = "Min" Then
txt_Display = var_First_Number - var_Second_Number
ElseIf var_Operator = "Div" Then
If var_Second_Number = 0 Then
MsgBox "Error, cannot divide by zero"
Else
txt_Display = var_First_Number / var_Second_Number
End If
ElseIf var_Operator = "Mul" Then
txt_Display = var_First_Number * var_Second_Number
End If
End Sub
Private Sub cmd_Five_Click()
txt_Display = txt_Display & 5
End Sub
Private Sub cmd_Four_Click()
txt_Display = txt_Display & 4
End Sub
Private Sub cmd_Nine_Click()
txt_Display = txt_Display & 9
End Sub
Private Sub cmd_Plus_Click()
If txt_Display = 0 Then
MsgBox "Please enter a value", , "Incorrect Function"
Else
var_First_Number = txt_Display
var_Operator = "Add"
txt_Display = ""
End If
End Sub
Private Sub cmd_Seven_Click()
txt_Display = txt_Display & 7
End Sub
Private Sub cmd_Six_Click()
txt_Display = txt_Display & 6
End Sub
Private Sub cmd_Subtract_Click()
If txt_Display = 0 Then
MsgBox "Please enter a value", , "Incorrect Function"
Else
var_First_Number = txt_Display
var_Operator = "Min"
txt_Display = ""
End If
End Sub
Private Sub cmd_Three_Click()
txt_Display = txt_Display & 3
End Sub
Private Sub cmd_Times_Click()
If txt_Display = 0 Then
MsgBox "Please enter a value", , "Incorrect Function"
Else
var_First_Number = txt_Display
var_Operator = "Mul"
txt_Display = ""
End If
End Sub
Private Sub cmd_Two_Click()
txt_Display = txt_Display & 2
End Sub
Private Sub cmd_Zero_Click()
txt_Display = txt_Display & 0
End Sub
Private Sub cmd_One_Click()
txt_Display = txt_Display & 1
End Sub
Private Sub Form_Load()
txt_Display = 0
End Sub