VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



calculator

by majid (1 Submission)
Category: Miscellaneous
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Tue 5th May 2009
Date Added: Mon 8th February 2021
Rating: (1 Votes)

calculator

API Declarations


Dim blnpoint As Boolean
Dim op As String * 1, strlastinput As String
Dim n1 As Double, dblm As Double
Dim dblpi As Double

Rate calculator



Select Case op
Case "*"
  calc = a * b
Case "-"
  calc = a - b
Case "+"
  calc = a + b
Case "^"
  If a < 0 And b - Fix(b) <> 0 Then
    MsgBox "Invaild input function ", vbCritical, "Eror"
  Else
    calc = a ^ b
  End If
Case "/"
  If b = 0 Then
    MsgBox "cannot Division by zero", vbCritical, "Error"
  Else
    calc = a / b
  End If
Case ""
  calc = b
End Select
End Function
Private Sub cmd0_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "0", "0")
Else
    lbloutput = lbloutput + "0"
End If
strlastinput = "nums"
End Sub

Private Sub cmd1_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "1", "1")
Else
    lbloutput = lbloutput + "1"
End If
strlastinput = "nums"
End Sub

Private Sub cmd2_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "2", "2")
Else
    lbloutput = lbloutput + "2"
End If
strlastinput = "nums"
End Sub

Private Sub cmd3_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "3", "3")
Else
    lbloutput = lbloutput + "3"
End If
strlastinput = "nums"
End Sub

Private Sub cmd4_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "4", "4")
Else
    lbloutput = lbloutput + "4"
End If
strlastinput = "nums"
End Sub

Private Sub cmd5_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "5", "5")
Else
    lbloutput = lbloutput + "5"
End If
strlastinput = "nums"
End Sub

Private Sub cmd6_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "6", "6")
Else
    lbloutput = lbloutput + "6"
End If
strlastinput = "nums"
End Sub
Private Sub cmd7_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "7", "7")
Else
    lbloutput = lbloutput + "7"
End If
strlastinput = "nums"
End Sub
Private Sub cmd8_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "8", "8")
Else
    lbloutput = lbloutput + "8"
End If
strlastinput = "nums"
End Sub
Private Sub cmd9_Click()
If Len(lbloutput) = "20" Then Exit Sub
If strlastinput <> "nums" Then
    lbloutput = IIf(blnpoint, lbloutput + "9", "9")
Else
    lbloutput = lbloutput + "9"
End If
strlastinput = "nums"
End Sub
Private Sub CMDBKS_Click()
Dim l As Byte
l = Len(lbloutput)
If l > 0 Then
  lbloutput = Left(lbloutput, l - 1)
End If
If Val(lbloutput) = 0 Then
    lbloutput = "0."
    blnpoint = False
End If
strlastinput = ""
End Sub
Private Sub cmdc_Click()
n1 = 1
op = ""
lbloutput = "0."
strlastinput = ""
blnpoint = False
End Sub
Private Sub cmdce_Click()
lbloutput = "0."
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdcos_Click()
Dim dblr As Double
dblr = Val(lbloutput) / 180 * dblpi
lbloutput = Cos(dblr)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
strlastinput = "nums"
End Sub
Private Sub cmdcot_Click()
Dim dblr As Double
dblr = Val(lbloutput) / 180 * dblpi
If dblr = 0 Then
    MsgBox "Cannot Division by zero", vbCritical, "error"
    Exit Sub
End If
lbloutput = 1 / Tan(dblr)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
If Val(lbloutput) > 1E+16 Then MsgBox "Invalid input function", vbCritical, "error"
strlastinput = "nums"
End Sub
Private Sub cmddiv_Click()
If strlastinput = "nums" Then
n1 = calc(n1, Val(lbloutput), op)
lbloutput = n1
End If
n1 = Val(lbloutput)
  op = "/"
  strlastinput = "op"
  blnpoint = False
End Sub
Private Sub cmdequal_Click()
n1 = calc(n1, Val(lbloutput), op)
If n1 = 0 Then
lbloutput = "0."
Else
lbloutput = n1
End If
op = ""
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdlog_Click()
Dim dbln As Double
dbln = Val(lbloutput)
If dbln <= 0 Then
   MsgBox "invalid input function", vbCritical, "error"
   Exit Sub
   End If
lbloutput = Log(dbln) / Log(10)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
If Val(lbloutput) > 1E+16 Then MsgBox "invalid input function", vbCritical, "error"
strlastinput = "op"
End Sub
Private Sub cmdmc_Click()
dblm = 0
LBLM = ""
strlastinput = ""
End Sub
Private Sub cmdminus_Click()
If strlastinput = "nums" Then
   n1 = calc(n1, Val(lbloutput), op)
   lbloutput = n1
End If
n1 = Val(lbloutput)
op = "-"
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdmp_Click()
dblm = dblm + Val(lbloutput)
LBLM = "M"
strlastinput = "op"
End Sub
Private Sub cmdmr_Click()
lbloutput = IIf(dblm = 0, "0.", dblm)
strlastinput = "nums"
If InStr(lbloutput, ".") <> 0 Then blnpoint = True
End Sub
Private Sub cmdms_Click()
dblm = Val(lbloutput)
LBLM = "M"
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdmul_Click()
If strlastinput = "nums" Then
    n1 = calc(n1, Val(lbloutput), op)
    lbloutput = n1
End If
n1 = Val(lbloutput)
op = "*"
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdpi_Click()
lbloutput = dblpi
strlastinput = "nums"
End Sub
Private Sub cmdplus_Click()
If strlastinput = "nums" Then
    n1 = calc(n1, Val(lbloutput), op)
    lbloutput = n1
End If
n1 = Val(lbloutput)
op = "+"
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdpoint_Click()
blnpoint = True
If strlastinput = "op" Then
    lbloutput = "0."
    Exit Sub
End If
If InStr(lbloutput, ".") = 0 Then
    lbloutput = lbloutput + "."
End If
strlastinput = "nums"
End Sub
Private Sub cmdpower2_Click()
Dim dbln As Double
dbln = Val(lbloutput)
lbloutput = dbln ^ 2
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
If Val(lbloutput) > 1E+16 Then MsgBox "invalid input function", vbCritical, "error"
strlastinput = "op"
End Sub
Private Sub cmdpowerxy_Click()
If strlastinput = "nums" Then
 n1 = calc(n1, Val(lbloutput), op)
  lbloutput = n1
End If
n1 = Val(lbloutput)
op = "^"
strlastinput = "op"
blnpoint = False
End Sub
Private Sub cmdreverse_Click()
Dim dbln As Double
dbln = Val(lbloutput)
If dbln = 0 Then
    MsgBox "Cannot Division by zero", vbCritical, "error"
    Exit Sub
End If
lbloutput = 1 / dbln
If Val(lbloutput) < 0.00000000000001 Then lbloutput = "0."
    strlastinput = "op"
End Sub
Private Sub cmdsign_Click()
If lbloutput = "0." And blnpoint = False Then
    Exit Sub
End If
If lbloutput = "0." Then
    lbloutput = "-0."
Else
    lbloutput = -Val(lbloutput)
End If
End Sub
Private Sub cmdsin_Click()
Dim dblr As Double
dblr = Val(lbloutput) / 180 * dblpi
lbloutput = Sin(dblr)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
strlastinput = "nums"
End Sub
Private Sub cmdsqrt_Click()
Dim dbln As Double
dbln = Val(lbloutput)
If dbln < 0 Then
    MsgBox "invalid input function", vbCritical, "error"
    Exit Sub
End If
lbloutput = Sqr(dbln)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
If Val(lbloutput) > 1E+16 Then MsgBox "invalid input function", vbCritical, "error"
strlastinput = "op"
End Sub
Private Sub cmdtan_Click()
Dim dblr As Double
dblr = Val(lbloutput) / 180 * dblpi
lbloutput = Tan(dblr)
If Val(lbloutput) < 1E-16 Then lbloutput = "0."
If Val(lbloutput) > 1E+16 Then MsgBox "invalid input function", vbCritical, "error"
strlastinput = "nums"
End Sub
Private Sub Form_Load()
n1 = 1
op = ""
strlastinput = ""
dblpi = 4 * Atn(1)
End Sub


Download this snippet    Add to My Saved Code

calculator Comments

No comments have been posted about calculator. Why not be the first to post a comment about calculator.

Post your comment

Subject:
Message:
0/1000 characters