Log in

View Full Version : To mr perito


neo_lover2000
Jun 10, 2009, 06:44 PM
sir I make something like these, check because there is an error when = is pressed
anyway I'll try your program

Dim first, second As Long
Dim num1, num2 As Long
Dim sign As String
Dim add, minus As Boolean
Dim FirstValueEntered As Boolean

Private Sub Command1_Click(Index As Integer)
If FirstValueEntered = True Then
num2 = num2 & Command1(Index).Caption
TextDisplay.Text = num2
Else
num1 = num1 & Command1(Index).Caption
TextDisplay.Text = num1
End If
End Sub

Private Sub cmdPlus_Click()
add = True
If minus = True Then
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first - second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdMinus.Caption
End If
minus = False
' for addition
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first + second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdPlus.Caption
End If
Else
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first + second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdPlus.Caption
End If
End If
End Sub

Private Sub cmdMinus_Click()
minus = True
If add = True Then
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first + second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdPlus.Caption
End If
add = False
'for subtraction
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first - second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdMinus.Caption
End If
Else
If (FirstValueEntered) And (num2 <> 0) Then
first = Val(num1)
second = Val(num2)
first = first - second
TextDisplay.Text = first
second = 0
num2 = 0
num1 = first
ElseIf num1 <> 0 Then
FirstValueEntered = True
sign = cmdMinus.Caption
End If
End If
End Sub

Private Sub cmdC_Click()
TextDisplay.Text = ""
num1 = Null
num2 = 0
first = 0
second = 0
FirstValueEntered = False
End Sub

Private Sub cmdEq_Click()
first = Val(num1) 'an error occur in this line, because of the null value of num1
If num1 = Null Then 'i try to use this line to counter the error
TextDisplay = "?" 'nothing happend
MsgBox "enter number" 'maybe you have something to correct the error
End If
If num2 <> 0 Then
second = Val(num2)
Else
second = 0
End If
Select Case sign
Case "+"
TextDisplay.Text = first + second
Case "-"
TextDisplay.Text = first - second
End Select
If num1 = 0 Or num2 = 0 Then
TextDisplay = "?"
MsgBox "enter number"
End If
second = 0
num1 = first
FirstValueEntered = True
End Sub

Private Sub Form_Load()
TextDisplay.Text = ""
num1 = Null
num2 = 0
first = 0
second = 0
FirstValueEntered = False

End Sub

Perito
Jun 11, 2009, 10:31 AM
Add this at the top of Sub cmdEq_Click:

Private Sub cmdEq_Click()
If IsNull(num1) Then
Exit Sub
End If