ma)-(di
چهارشنبه 29 اردیبهشت 1389, 14:33 عصر
سلام.
من یه ماشین حساب نوشتم با VB6، ولی عمل های محاسباتی در اون انجام نمیشه!
نمیدونم مشگل کار من از کجاست!
این سورس، کد برنامه س که مطمئنم مشگلی نداره، چون توی کتاب درسی مون هست!
منتها ماشین حساب جواب نمیده!
سورس کد:
Dim dblm As Double
Dim op As String * 1, strlastinput As String, n1 As Double
Private Function calc(a As Double, b As Double, op As String) As Double
Select Case op
Case "*"
calc = a * b
Case "-"
calc = a - b
Case "+"
calc = a + b
Case "/"
calc = a / b
Case " "
calc = b
End Select
End Function
Private Sub cmd0_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "0"
Else
lbloutput = lbloutput + "0"
End If
End Sub
Private Sub cmd1_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "1"
Else
lbloutput = lbloutput + "1"
End If
End Sub
Private Sub cmd2_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "2"
Else
lbloutput = lbloutput + "2"
End If
End Sub
Private Sub cmd3_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "3"
Else
lbloutput = lbloutput + "3"
End If
End Sub
Private Sub cmd4_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "4"
Else
lbloutput = lbloutput + "4"
End If
End Sub
Private Sub cmd5_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "5"
Else
lbloutput = lbloutput + "5"
End If
End Sub
Private Sub cmd6_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "6"
Else
lbloutput = lbloutput + "6"
End If
End Sub
Private Sub cmd7_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "7"
Else
lbloutput = lbloutput + "7"
End If
End Sub
Private Sub cmd8_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "8"
Else
lbloutput = lbloutput + "8"
End If
End Sub
Private Sub cmd9_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "9"
Else
lbloutput = lbloutput + "9"
End If
End Sub
Private Sub cmddiv_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "/"
lbnpint = False
End Sub
Private Sub cmdequal_Click()
Dim n1 As Double, op As String
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 CMDMC_Click()
dblm = 0
LBLM = ""
strlastinput = ""
End Sub
Private Sub cmdminus_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "-"
lbnpint = False
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 cmdmul_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(lbloutput), op)
lbloutput = n1
End If
n1 = Val(lbloutput)
op = "*"
strlastinput = "op"
lbnpoint = False
End Sub
Private Sub cmdplus_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "+"
lbnpint = False
End Sub
Private Sub cmdpoint_Click()
blnpoint = True
If InStr(lbloutput, ".") = 0 Then
lbloutput = lbloutput + "."
End If
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 Command1_Click()
End Sub
Private Sub Form_Load()
Dim lbnpoint As Boolean
Dim op As String * 1, strlastinput As String
Dim n1 As Double
n1 = 1
op = " "
strlastinput = ""
End Sub
لطفاً کمک و راهنمایی کنید که مشگل کار من کجاست؟! :متفکر: :عصبانی++:
من یه ماشین حساب نوشتم با VB6، ولی عمل های محاسباتی در اون انجام نمیشه!
نمیدونم مشگل کار من از کجاست!
این سورس، کد برنامه س که مطمئنم مشگلی نداره، چون توی کتاب درسی مون هست!
منتها ماشین حساب جواب نمیده!
سورس کد:
Dim dblm As Double
Dim op As String * 1, strlastinput As String, n1 As Double
Private Function calc(a As Double, b As Double, op As String) As Double
Select Case op
Case "*"
calc = a * b
Case "-"
calc = a - b
Case "+"
calc = a + b
Case "/"
calc = a / b
Case " "
calc = b
End Select
End Function
Private Sub cmd0_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "0"
Else
lbloutput = lbloutput + "0"
End If
End Sub
Private Sub cmd1_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "1"
Else
lbloutput = lbloutput + "1"
End If
End Sub
Private Sub cmd2_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "2"
Else
lbloutput = lbloutput + "2"
End If
End Sub
Private Sub cmd3_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "3"
Else
lbloutput = lbloutput + "3"
End If
End Sub
Private Sub cmd4_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "4"
Else
lbloutput = lbloutput + "4"
End If
End Sub
Private Sub cmd5_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "5"
Else
lbloutput = lbloutput + "5"
End If
End Sub
Private Sub cmd6_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "6"
Else
lbloutput = lbloutput + "6"
End If
End Sub
Private Sub cmd7_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "7"
Else
lbloutput = lbloutput + "7"
End If
End Sub
Private Sub cmd8_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "8"
Else
lbloutput = lbloutput + "8"
End If
End Sub
Private Sub cmd9_Click()
If lbloutput = "0." And blnpoint = False Then
lbloutput = "9"
Else
lbloutput = lbloutput + "9"
End If
End Sub
Private Sub cmddiv_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "/"
lbnpint = False
End Sub
Private Sub cmdequal_Click()
Dim n1 As Double, op As String
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 CMDMC_Click()
dblm = 0
LBLM = ""
strlastinput = ""
End Sub
Private Sub cmdminus_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "-"
lbnpint = False
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 cmdmul_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(lbloutput), op)
lbloutput = n1
End If
n1 = Val(lbloutput)
op = "*"
strlastinput = "op"
lbnpoint = False
End Sub
Private Sub cmdplus_Click()
Dim n1 As Double, op As String
If strlastinput = "nums" Then
n1 = calc(n1, Val(ibioutput), op)
lbioutput = n1
End If
n1 = Val(lbloutput)
op = "+"
lbnpint = False
End Sub
Private Sub cmdpoint_Click()
blnpoint = True
If InStr(lbloutput, ".") = 0 Then
lbloutput = lbloutput + "."
End If
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 Command1_Click()
End Sub
Private Sub Form_Load()
Dim lbnpoint As Boolean
Dim op As String * 1, strlastinput As String
Dim n1 As Double
n1 = 1
op = " "
strlastinput = ""
End Sub
لطفاً کمک و راهنمایی کنید که مشگل کار من کجاست؟! :متفکر: :عصبانی++: