home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD100309202000.psc / Equal_operation.bas < prev    next >
Encoding:
BASIC Source File  |  2000-09-21  |  6.2 KB  |  196 lines

  1. Attribute VB_Name = "Equal_operation"
  2. Option Explicit
  3.  
  4. ''''''''''''''''''''''''''''''''''''''''''''''''''
  5. ' If anyone has a better solution to all of the  '
  6. ' modules below, please send it to me at         '
  7. ' foxdetective007@mailcity.com                   '
  8. ''''''''''''''''''''''''''''''''''''''''''''''''''
  9.  
  10. Public Exponential_value1 As String
  11. Public Exponential_value2 As String
  12. Public Operation As String
  13. Public Power As Double
  14. Public Loop_counter As Integer
  15. Public Base As Double
  16.  
  17. Public Sub Equals()
  18. Dim Exp_value As String
  19.  
  20. With frmMain
  21.     If Exponent = False Then
  22.         Misc.Value2 = .Number_space.Text
  23.     ElseIf Exponent = True Then
  24.         Exponential_value2 = .EXP.Text
  25.         Misc.Value2 = .Number_space.Text * 10 ^ (Exponential_value2)
  26.     End If
  27.  
  28.     Select Case Operation
  29.         Case "+"
  30.             Call Addition
  31.         Case "-"
  32.             Call Subtraction
  33.         Case "╫"
  34.             Call Multiplication
  35.         Case "≈"
  36.             Call Division
  37.         Case "N-RT"
  38.             Call Misc.N_root
  39.         Case "x^y"
  40.             .Number_space.MaxLength = 18
  41.             Power = CDbl(.Number_space.Text)
  42.             Result = Base ^ Power
  43.             .Number_space.Text = Result
  44.     End Select
  45.     
  46.     If Exponent = False Then
  47.         .Number_space.Text = CStr(Result)
  48.     ElseIf Exponent = True Then
  49.         Exp_value = Left(Right(CStr(Result), 4), 2)
  50.         If Exp_value = "E+" Then
  51.             .EXP.Text = Right(CStr(Result), 2)
  52.             .Number_space.Text = Left(CStr(Result), Len(CStr(Result)) - 4)
  53.         ElseIf Exp_value = "E-" Then
  54.             .EXP.Text = -(Right(CStr(Result), 2))
  55.             .Number_space.Text = Left(CStr(Result), Len(CStr(Result)) - 4)
  56.         Else:
  57.             .Number_space.Text = CStr(Result)
  58.             .EXP.Visible = False
  59.         End If
  60.     End If
  61.     
  62.     Value1 = .Number_space.Text
  63.     Sign = False
  64.     First_digit = False
  65.     Value2 = " "
  66.     Result = 0
  67.  
  68. End With
  69.  
  70. End Sub
  71.  
  72. Public Sub Addition()
  73.     
  74. With frmMain
  75.     If Exponent = False Then
  76.         Result = CDbl(Value1) + CDbl(Value2)
  77.     ElseIf Exponent = True Then
  78.         If CDbl(Exponential_value1) + CDbl(Exponential_value2) <= 99 And _
  79.         CDbl(Exponential_value1) + CDbl(Exponential_value2) >= -99 Then
  80.             Result = CDbl(Value1) + CDbl(Value2)
  81.         Else:
  82.             .EXP.Text = ""
  83.             .Number_space.Text = "-OVERFLOW ERROR-"
  84.             MsgBox "The exponent must lie within the range -99 < e < 99.", _
  85.             vbOKOnly + vbCritical, "Error"
  86.             .Number_space.Text = "0"
  87.         End If
  88.     End If
  89. End With
  90.  
  91. End Sub
  92.  
  93. Public Sub Subtraction()
  94.  
  95. With frmMain
  96.     If Exponent = False Then
  97.         Result = CDbl(Value1) - CDbl(Value2)
  98.     ElseIf Exponent = True Then
  99.         If CDbl(Exponential_value1) - CDbl(Exponential_value2) <= 99 And _
  100.         CDbl(Exponential_value1) - CDbl(Exponential_value2) >= -99 Then
  101.             Result = CDbl(Value1) - CDbl(Value2)
  102.         Else:
  103.             .EXP.Text = ""
  104.             .Number_space.Text = "-OVERFLOW ERROR-"
  105.             MsgBox "The exponent must lie within the range -99 < e < 99.", _
  106.             vbOKOnly + vbCritical, "Error"
  107.             .Number_space.Text = "0"
  108.         End If
  109.     End If
  110. End With
  111.  
  112. End Sub
  113.  
  114. Public Sub Multiplication()
  115.     
  116. With frmMain
  117.     If Exponent = False Then
  118.         If .Percentage_indicator.Text = "%" Then
  119.             Result = (CDbl(Value1) * CDbl(Value2)) / 100
  120.         Else
  121.             Result = CDbl(Value1) * CDbl(Value2)
  122.         End If
  123.     ElseIf Exponent = True Then
  124.         If CDbl(Exponential_value1) + CDbl(Exponential_value2) <= 99 And _
  125.         CDbl(Exponential_value1) + CDbl(Exponential_value2) >= -99 Then
  126.             If .Percentage_indicator.Text = "%" Then
  127.                 Result = CDbl(Value1) * CDbl(Value2) / 100
  128.             Else
  129.                 Result = CDbl(Value1) * CDbl(Value2)
  130.             End If
  131.         Else:
  132.             .EXP.Text = ""
  133.             .Number_space.Text = "-OVERFLOW ERROR-"
  134.             MsgBox "The exponent must lie within the range -99 < e < 99.", _
  135.             vbOKOnly + vbCritical, "Error"
  136.             .Number_space.Text = "0"
  137.         End If
  138.     End If
  139. End With
  140.  
  141. End Sub
  142.  
  143. Public Sub Division()
  144.  
  145. With frmMain
  146.     If Exponent = False Then
  147.         If .Percentage_indicator.Text = "%" Then
  148.             If Value2 <> 0 Then
  149.                 Result = (CDbl(Value1) / CDbl(Value2)) * 100
  150.             ElseIf Value2 = 0 Then
  151.                 .EXP.Text = ""
  152.                 .Percentage_indicator.Text = ""
  153.                 .Number_space.Text = "-ERROR-"
  154.                 MsgBox "You can't divide by zero", vbOKOnly + vbCritical, "Error"
  155.                 .Number_space.Text = "0"
  156.                 .Percentage_indicator.Text = " "
  157.             End If
  158.         Else
  159.             If Value2 <> 0 Then
  160.                 Result = CDbl(Value1) / CDbl(Value2)
  161.             ElseIf Value2 = 0 Then
  162.                 .EXP.Text = ""
  163.                 .Number_space.Text = "-ERROR-"
  164.                 MsgBox "You can't divide by zero", vbOKOnly + vbCritical, "Error"
  165.                 .Number_space.Text = "0"
  166.             End If
  167.         End If
  168.     ElseIf Exponent = True Then
  169.         If CDbl(Exponential_value1) - CDbl(Exponential_value2) <= 99 And _
  170.         CDbl(Exponential_value1) - CDbl(Exponential_value2) >= -99 Then
  171.             If .Percentage_indicator.Text = "%" Then
  172.                 If Value2 <> 0 Then
  173.                     Result = (CDbl(Value1) / CDbl(Value2)) * 100
  174.                 ElseIf Value2 = 0 Then
  175.                     .Percentage_indicator.Text = ""
  176.                     .EXP.Text = ""
  177.                     .Number_space.Text = "-ERROR-"
  178.                     MsgBox "You can't divide by zero", vbOKOnly + vbCritical, "Error"
  179.                     .Number_space.Text = "0"
  180.                     .Percentage_indicator.Text = " "
  181.                 End If
  182.             Else
  183.                 Result = CDbl(Value1) / CDbl(Value2)
  184.             End If
  185.         Else:
  186.             .EXP.Text = ""
  187.             .Number_space.Text = "-OVERFLOW ERROR-"
  188.             MsgBox "The exponent must lie within the range -99 < e < 99.", _
  189.             vbOKOnly + vbCritical, "Error"
  190.             .Number_space.Text = "0"
  191.         End If
  192.     End If
  193. End With
  194.     Dot = False
  195. End Sub
  196.