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 / Validation.bas < prev   
Encoding:
BASIC Source File  |  2000-09-21  |  32.0 KB  |  844 lines

  1. Attribute VB_Name = "Trig_functions"
  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 Const PI = 3.141592654
  11. Public Trig_operation As Double
  12. Public Angle As Double
  13. Public Minus As Boolean
  14.  
  15. Public Function Cosec(Angle As Double) As Double
  16.     Cosec = 1 / (Sin(Angle))
  17. End Function
  18.  
  19. Public Function Sec(Angle As Double) As Double
  20.     Sec = 1 / (Cos(Angle))
  21. End Function
  22.  
  23. Public Function Cot(Angle As Double) As Double
  24.     Cot = 1 / (Tan(Angle))
  25. End Function
  26.  
  27. Public Sub Sine_validation()
  28.  
  29. With frmMain
  30.  
  31. Angle = CDbl(.Number_space.Text) Mod 360
  32.  
  33. Select Case Abs(Angle)
  34.  
  35.     Case "30"
  36.         If .Mode_type = "DEG" Then
  37.             Trig_operation = Sin(Angle * PI / 180)
  38.             .Number_space.Text = Format(Trig_operation, "0.#")
  39.         ElseIf frmMain.Mode_type.Text = "RAD" Then
  40.             Trig_operation = Sin(Angle)
  41.             .Number_space.Text = Trig_operation
  42.         End If
  43.     Case "150"
  44.         If .Mode_type.Text = "DEG" Then
  45.             Trig_operation = Sin(Angle * PI / 180)
  46.             .Number_space.Text = Format(Trig_operation, "0.#")
  47.         ElseIf .Mode_type.Text = "RAD" Then
  48.             Trig_operation = Sin(Angle)
  49.             .Number_space.Text = Trig_operation
  50.         End If
  51.     Case "210"
  52.         If .Mode_type.Text = "DEG" Then
  53.             Trig_operation = Sin(Angle * PI / 180)
  54.             .Number_space.Text = Format(Trig_operation, "0.#")
  55.         ElseIf .Mode_type.Text = "RAD" Then
  56.             Trig_operation = Sin(Angle)
  57.             .Number_space.Text = Trig_operation
  58.         End If
  59.     Case "330"
  60.         If .Mode_type.Text = "DEG" Then
  61.             Trig_operation = Sin(Angle * PI / 180)
  62.             .Number_space.Text = Format(Trig_operation, "0.#")
  63.         ElseIf .Mode_type.Text = "RAD" Then
  64.             Trig_operation = Sin(Angle)
  65.             .Number_space.Text = Trig_operation
  66.         End If
  67.     Case "0"
  68.         If .Mode_type.Text = "DEG" Then
  69.             Trig_operation = Sin(Angle * PI / 180)
  70.             .Number_space.Text = Format(Trig_operation, "0")
  71.         ElseIf .Mode_type.Text = "RAD" Then
  72.             Trig_operation = Sin(Angle)
  73.             .Number_space.Text = Trig_operation
  74.         End If
  75.     Case "180"
  76.         If .Mode_type.Text = "DEG" Then
  77.             Trig_operation = Sin(Angle * PI / 180)
  78.             .Number_space.Text = Format(Trig_operation, "0")
  79.         ElseIf .Mode_type.Text = "RAD" Then
  80.             Trig_operation = Sin(Angle)
  81.             .Number_space.Text = Trig_operation
  82.         End If
  83.     Case "360"
  84.         If .Mode_type.Text = "DEG" Then
  85.             Trig_operation = Sin(Angle * PI / 180)
  86.             .Number_space.Text = Format(Trig_operation, "0")
  87.         ElseIf .Mode_type.Enabled = "RAD" Then
  88.             Trig_operation = Sin(Angle)
  89.             .Number_space.Text = Trig_operation
  90.         End If
  91.     Case "90"
  92.         If .Mode_type.Text = "DEG" Then
  93.             Trig_operation = Sin(Angle * PI / 180)
  94.             .Number_space.Text = Format(Trig_operation, "#")
  95.         ElseIf .Mode_type.Text = "RAD" Then
  96.             Trig_operation = Sin(Angle)
  97.             .Number_space.Text = Trig_operation
  98.         End If
  99.     Case "270"
  100.         If .Mode_type.Text = "DEG" Then
  101.             Trig_operation = Sin(Angle * PI / 180)
  102.             .Number_space.Text = Format(Trig_operation, "#")
  103.         ElseIf .Mode_type.Text = "RAD" Then
  104.             Trig_operation = Sin(Angle)
  105.             .Number_space.Text = Trig_operation
  106.         End If
  107.     Case Else
  108.         If .Mode_type.Text = "DEG" Then
  109.             Trig_operation = Sin(Angle * PI / 180)
  110.             .Number_space.Text = Format(Trig_operation, "0.############")
  111.         ElseIf .Mode_type.Text = "RAD" Then
  112.             Trig_operation = Sin(Angle)
  113.             .Number_space.Text = Trig_operation
  114.         End If
  115. End Select
  116.  
  117. End With
  118.  
  119. End Sub
  120.  
  121. Public Sub Cosine_validation()
  122.  
  123. With frmMain
  124.  
  125. Angle = CDbl(.Number_space.Text) Mod 360
  126.  
  127. Select Case Abs(Angle)
  128.  
  129.     Case "60"
  130.         If .Mode_type.Text = "DEG" Then
  131.             Trig_operation = Cos(Angle * PI / 180)
  132.             .Number_space.Text = Format(Trig_operation, "0.#")
  133.         ElseIf .Mode_type.Text = "RAD" Then
  134.             Trig_operation = Cos(Angle)
  135.             .Number_space.Text = Trig_operation
  136.         End If
  137.     Case "120"
  138.         If .Mode_type.Text = "DEG" Then
  139.             Trig_operation = Cos(Angle * PI / 180)
  140.             .Number_space.Text = Format(Trig_operation, "0.#")
  141.         ElseIf .Mode_type.Text = "RAD" Then
  142.             Trig_operation = Cos(Angle)
  143.             .Number_space.Text = Trig_operation
  144.         End If
  145.     Case "240"
  146.         If .Mode_type.Text = "DEG" Then
  147.             Trig_operation = Cos(Angle * PI / 180)
  148.             .Number_space.Text = Format(Trig_operation, "0.#")
  149.         ElseIf .Mode_type.Text = "RAD" Then
  150.             Trig_operation = Cos(Angle)
  151.             .Number_space.Text = Trig_operation
  152.         End If
  153.     Case "300"
  154.         If .Mode_type.Text = "DEG" Then
  155.             Trig_operation = Cos(Angle * PI / 180)
  156.             .Number_space.Text = Format(Trig_operation, "0.#")
  157.         ElseIf .Mode_type.Text = "RAD" Then
  158.             Trig_operation = Cos(Angle)
  159.             .Number_space.Text = Trig_operation
  160.         End If
  161.     Case "0"
  162.         If .Mode_type.Text = "DEG" Then
  163.             Trig_operation = Cos(Angle * PI / 180)
  164.             .Number_space.Text = Format(Trig_operation, "#")
  165.         ElseIf .Mode_type.Text = "RAD" Then
  166.             Trig_operation = Cos(Angle)
  167.             .Number_space.Text = Trig_operation
  168.         End If
  169.     Case "180"
  170.         If .Mode_type.Text = "DEG" Then
  171.             Trig_operation = Cos(Angle * PI / 180)
  172.             .Number_space.Text = Format(Trig_operation, "#")
  173.         ElseIf .Mode_type.Text = "RAD" Then
  174.              Trig_operation = Cos(Angle)
  175.             .Number_space.Text = Trig_operation
  176.        End If
  177.     Case "360"
  178.         If .Mode_type.Text = "DEG" Then
  179.             Trig_operation = Cos(Angle * PI / 180)
  180.             .Number_space.Text = Format(Trig_operation, "#")
  181.         ElseIf .Mode_type.Text = "RAD" Then
  182.             Trig_operation = Cos(Angle)
  183.             .Number_space.Text = Trig_operation
  184.         End If
  185.     Case "90"
  186.         If .Mode_type.Text = "DEG" Then
  187.             Trig_operation = Cos(Angle * PI / 180)
  188.             .Number_space.Text = Format(Trig_operation, "0")
  189.         ElseIf .Mode_type.Text = "RAD" Then
  190.             Trig_operation = Cos(Angle)
  191.             .Number_space.Text = Trig_operation
  192.         End If
  193.     Case "270"
  194.         If .Mode_type.Text = "DEG" Then
  195.             Trig_operation = Cos(Angle * PI / 180)
  196.             .Number_space.Text = Format(Trig_operation, "0")
  197.         ElseIf .Mode_type.Text = "RAD" Then
  198.             Trig_operation = Cos(Angle)
  199.             .Number_space.Text = Trig_operation
  200.         End If
  201.     Case Else
  202.         If .Mode_type.Text = "DEG" Then
  203.             Trig_operation = Cos(Angle * PI / 180)
  204.             .Number_space.Text = Format(Trig_operation, "0.############")
  205.         ElseIf .Mode_type.Text = "RAD" Then
  206.             Trig_operation = Cos(Angle)
  207.             .Number_space.Text = Trig_operation
  208.         End If
  209. End Select
  210.  
  211. End With
  212.  
  213. End Sub
  214.  
  215. Public Sub Tangent_validation()
  216.  
  217. Dim Actual_angle As String
  218.  
  219. With frmMain
  220.        
  221. Actual_angle = .Number_space.Text
  222. Angle = CDbl(.Number_space.Text) Mod 360
  223.  
  224. Select Case Abs(Angle)
  225.         
  226.     Case "45"
  227.         If .Mode_type.Text = "DEG" Then
  228.             Trig_operation = Tan(Angle * PI / 180)
  229.             .Number_space.Text = Format(Trig_operation, "#")
  230.         ElseIf .Mode_type.Text = "RAD" Then
  231.             Trig_operation = Tan(Angle)
  232.             .Number_space.Text = Trig_operation
  233.         End If
  234.     Case "135"
  235.         If .Mode_type.Text = "DEG" Then
  236.             Trig_operation = Tan(Angle * PI / 180)
  237.             .Number_space.Text = Format(Trig_operation, "#")
  238.         ElseIf .Mode_type.Text = "RAD" Then
  239.             Trig_operation = Tan(Angle)
  240.             .Number_space.Text = Trig_operation
  241.         End If
  242.     Case "225"
  243.         If .Mode_type.Text = "DEG" Then
  244.             Trig_operation = Tan(Angle * PI / 180)
  245.             .Number_space.Text = Format(Trig_operation, "#")
  246.         ElseIf .Mode_type.Text = "RAD" Then
  247.             Trig_operation = Tan(Angle)
  248.             .Number_space.Text = Trig_operation
  249.         End If
  250.     Case "315"
  251.         If .Mode_type.Text = "DEG" Then
  252.             Trig_operation = Tan(Angle * PI / 180)
  253.             .Number_space.Text = Format(Trig_operation, "#")
  254.         ElseIf .Mode_type.Text = "RAD" Then
  255.             Trig_operation = Tan(Angle)
  256.             .Number_space.Text = Trig_operation
  257.         End If
  258.     Case "0"
  259.         If .Mode_type.Text = "DEG" Then
  260.             Trig_operation = Tan(Angle * PI / 180)
  261.             .Number_space.Text = Format(Trig_operation, "0")
  262.         ElseIf .Mode_type.Text = "RAD" Then
  263.             Trig_operation = Tan(Angle)
  264.             .Number_space.Text = Trig_operation
  265.         End If
  266.     Case "180"
  267.         If .Mode_type.Text = "DEG" Then
  268.             Trig_operation = Tan(Angle * PI / 180)
  269.             .Number_space.Text = Format(Trig_operation, "0")
  270.         ElseIf .Mode_type.Text = "RAD" Then
  271.             Trig_operation = Tan(Angle)
  272.             .Number_space.Text = Trig_operation
  273.         End If
  274.     Case "360"
  275.         If .Mode_type.Text = "DEG" Then
  276.             Trig_operation = Tan(Angle * PI / 180)
  277.             .Number_space.Text = Format(Trig_operation, "0")
  278.         ElseIf .Mode_type.Text = "RAD" Then
  279.             Trig_operation = Tan(Angle)
  280.             .Number_space.Text = Trig_operation
  281.         End If
  282.     Case "90"
  283.         If .Mode_type.Text = "DEG" Then
  284.             .Number_space.Text = "-ERROR-"
  285.             MsgBox "The value of tan " & Actual_angle & "░ is undefined for degrees." _
  286.             , vbCritical + vbOKOnly, "Error"
  287.             .Number_space.Text = "0"
  288.             Minus = False
  289.             .Function.Text = " "
  290.             Format Trig_operation, "######0.##########"
  291.         ElseIf .Mode_type.Text = "RAD" Then
  292.             Trig_operation = Tan(Angle)
  293.             .Number_space.Text = Trig_operation
  294.         End If
  295.     Case "270"
  296.         If .Mode_type.Text = "DEG" Then
  297.             .Number_space.Text = "-ERROR-"
  298.             MsgBox "The value of tan " & Actual_angle & "░ is undefined for degrees.", _
  299.             vbCritical + vbOKOnly, "Error"
  300.             .Number_space.Text = "0"
  301.             Minus = False
  302.             .Function.Text = " "
  303.         ElseIf .Mode_type.Text = "RAD" Then
  304.              Trig_operation = Tan(Angle)
  305.             .Number_space.Text = Trig_operation
  306.         End If
  307.     Case Else
  308.         If .Mode_type.Text = "DEG" Then
  309.             Trig_operation = Tan(Angle * PI / 180)
  310.             .Number_space.Text = Format(Trig_operation, "######0.##########")
  311.         ElseIf .Mode_type.Text = "RAD" Then
  312.             Trig_operation = Tan(Angle)
  313.             .Number_space.Text = Trig_operation
  314.         End If
  315. End Select
  316.  
  317. End With
  318.  
  319. End Sub
  320.  
  321. Public Sub Cosecant_validation()
  322. Dim Actual_angle As String
  323.  
  324. With frmMain
  325.  
  326. Actual_angle = .Number_space.Text
  327.  
  328. Angle = CDbl(.Number_space.Text) Mod 360
  329.  
  330. Select Case Abs(Angle)
  331.  
  332.     Case "30"
  333.         If .Mode_type.Text = "DEG" Then
  334.             Trig_operation = Cosec(Angle * PI / 180)
  335.             .Number_space.Text = Format(Trig_operation, "#")
  336.         ElseIf .Mode_type.Text = "RAD" Then
  337.             Trig_operation = Cosec(Angle)
  338.             .Number_space.Text = Trig_operation
  339.         End If
  340.     Case "150"
  341.         If .Mode_type.Text = "DEG" Then
  342.             Trig_operation = Cosec(Angle * PI / 180)
  343.             .Number_space.Text = Format(Trig_operation, "#")
  344.         ElseIf .Mode_type.Text = "RAD" Then
  345.             Trig_operation = Cosec(Angle)
  346.             .Number_space.Text = Trig_operation
  347.         End If
  348.     Case "210"
  349.         If .Mode_type.Text = "DEG" Then
  350.             Trig_operation = Cosec(Angle * PI / 180)
  351.             .Number_space.Text = Format(Trig_operation, "#")
  352.         ElseIf .Mode_type.Text = "RAD" Then
  353.             Trig_operation = Cosec(Angle)
  354.             .Number_space.Text = Trig_operation
  355.         End If
  356.     Case "330"
  357.         If .Mode_type.Text = "DEG" Then
  358.             Trig_operation = Cosec(Angle * PI / 180)
  359.             .Number_space.Text = Format(Trig_operation, "#")
  360.         ElseIf .Mode_type.Text = "RAD" Then
  361.             Trig_operation = Cosec(Angle)
  362.             .Number_space.Text = Trig_operation
  363.         End If
  364.     Case "0"
  365.         If .Mode_type.Text = "DEG" Then
  366.             .Number_space.Text = "-ERROR-"
  367.             MsgBox "The value of cosec " & Actual_angle & "░ is undefined for degrees." _
  368.             , vbCritical + vbOKOnly, "Error"
  369.             .Number_space.Text = "0"
  370.             .Function.Text = " "
  371.             Minus = False
  372.         ElseIf .Mode_type.Text = "RAD" Then
  373.             If Actual_angle = "0" Then
  374.                 .Number_space.Text = "-ERROR-"
  375.                 MsgBox "The value of cosec " & Actual_angle & "░ is undefined for radians." _
  376.                 , vbCritical + vbOKOnly, "Error"
  377.                 .Number_space.Text = "0"
  378.                 .Function.Text = ""
  379.             ElseIf Actual_angle Mod 360 >= 0 Then
  380.                 Trig_operation = Cosec(CDbl(.Number_space.Text))
  381.                 .Number_space.Text = Trig_operation
  382.             End If
  383.         End If
  384.     Case "180"
  385.         If .Mode_type.Text = "DEG" Then
  386.             .Number_space.Text = "-ERROR-"
  387.             MsgBox "The value of cosec " & Actual_angle & "░ is undefined for degrees", vbCritical + vbOKOnly, "Error"
  388.             .Number_space.Text = "0"
  389.             .Function.Text = " "
  390.             Minus = False
  391.         ElseIf .Mode_type.Text = "RAD" Then
  392.             Trig_operation = Cosec(Angle)
  393.             .Number_space.Text = Trig_operation
  394.         End If
  395.     Case "360"
  396.         If .Mode_type.Text = "DEG" Then
  397.             .Number_space.Text = "-ERROR-"
  398.             MsgBox "The value of cosec " & Actual_angle & "░ is undefined for degrees." _
  399.             , vbCritical + vbOKOnly, "Error"
  400.             .Number_space.Text = "0"
  401.             .Function.Text = " "
  402.             Minus = False
  403.         ElseIf .Mode_type.Text = "RAD" Then
  404.             Trig_operation = Cosec(Angle)
  405.             .Number_space.Text = Trig_operation
  406.         End If
  407.     Case "90"
  408.         If .Mode_type.Text = "DEG" Then
  409.             Trig_operation = Cosec(Angle * PI / 180)
  410.             .Number_space.Text = Format(Trig_operation, "#")
  411.         ElseIf .Mode_type.Text = "RAD" Then
  412.             Trig_operation = Cosec(Angle)
  413.             .Number_space.Text = Trig_operation
  414.         End If
  415.     Case "270"
  416.         If .Mode_type.Text = "DEG" Then
  417.             Trig_operation = Cosec(Angle * PI / 180)
  418.             .Number_space.Text = Format(Trig_operation, "#")
  419.         ElseIf .Mode_type.Text = "RAD" Then
  420.             Trig_operation = Cosec(Angle)
  421.             .Number_space.Text = Trig_operation
  422.         End If
  423.     Case Else
  424.         If .Mode_type.Text = "DEG" Then
  425.             Trig_operation = Cosec(Angle * PI / 180)
  426.             .Number_space.Text = Trig_operation
  427.         ElseIf .Mode_type.Text = "RAD" Then
  428.             Trig_operation = Cosec(Angle)
  429.             .Number_space.Text = Trig_operation
  430.         End If
  431. End Select
  432.  
  433. End With
  434.  
  435. End Sub
  436.  
  437. Public Sub Secant_validation()
  438. Dim Actual_angle As String
  439.  
  440. With frmMain
  441.  
  442. Actual_angle = .Number_space.Text
  443. Angle = CDbl(.Number_space.Text) Mod 360
  444.  
  445. Select Case Abs(Angle)
  446.  
  447.     Case "60"
  448.         If .Mode_type.Text = "DEG" Then
  449.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  450.             .Number_space.Text = Format(Trig_operation, "#")
  451.         ElseIf .Mode_type.Text = "RAD" Then
  452.             Trig_operation = Sec(CDbl(.Number_space.Text))
  453.             .Number_space.Text = Trig_operation
  454.         End If
  455.     Case "120"
  456.         If .Mode_type.Text = "DEG" Then
  457.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  458.             .Number_space.Text = Format(Trig_operation, "#")
  459.         ElseIf .Mode_type.Text = "RAD" Then
  460.             Trig_operation = Sec(CDbl(.Number_space.Text))
  461.             .Number_space.Text = Trig_operation
  462.         End If
  463.     Case "240"
  464.         If .Mode_type.Text = "DEG" Then
  465.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  466.             .Number_space.Text = Format(Trig_operation, "#")
  467.         ElseIf .Mode_type.Text = "RAD" Then
  468.             Trig_operation = Sec(CDbl(.Number_space.Text))
  469.             .Number_space.Text = Trig_operation
  470.         End If
  471.     Case "300"
  472.         If .Mode_type.Text = "DEG" Then
  473.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  474.             .Number_space.Text = Format(Trig_operation, "#")
  475.         ElseIf .Mode_type.Text = "RAD" Then
  476.             Trig_operation = Sec(CDbl(.Number_space.Text))
  477.             .Number_space.Text = Trig_operation
  478.         End If
  479.     Case "0"
  480.         If .Mode_type.Text = "DEG" Then
  481.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  482.             .Number_space.Text = Format(Trig_operation, "#")
  483.         ElseIf .Mode_type.Text = "RAD" Then
  484.             Trig_operation = Sec(CDbl(.Number_space.Text))
  485.             .Number_space.Text = Trig_operation
  486.         End If
  487.     Case "180"
  488.         If .Mode_type.Text = "DEG" Then
  489.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  490.             .Number_space.Text = Format(Trig_operation, "#")
  491.         ElseIf .Mode_type.Text = "RAD" Then
  492.             Trig_operation = Sec(CDbl(.Number_space.Text))
  493.             .Number_space.Text = Trig_operation
  494.         End If
  495.     Case "360"
  496.         If .Mode_type.Text = "DEG" Then
  497.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  498.             .Number_space.Text = Format(Trig_operation, "#")
  499.         ElseIf .Mode_type.Text = "RAD" Then
  500.             Trig_operation = Sec(CDbl(.Number_space.Text))
  501.             .Number_space.Text = Trig_operation
  502.         End If
  503.     Case "90"
  504.         If .Mode_type.Text = "DEG" Then
  505.             .Number_space.Text = "-ERROR-"
  506.             MsgBox "The value of sec " & Actual_angle & " ░ is undefined.", vbCritical + vbOKOnly, "Error"
  507.             .Number_space.Text = "0"
  508.             .Function.Text = " "
  509.             Minus = False
  510.         ElseIf .Mode_type.Text = "RAD" Then
  511.             Trig_operation = Sec(CDbl(.Number_space.Text))
  512.             .Number_space.Text = Trig_operation
  513.         End If
  514.     Case "270"
  515.         If .Mode_type.Text = "DEG" Then
  516.             .Number_space.Text = "-ERROR-"
  517.             MsgBox "The value of sec " & Actual_angle & "░ is undefined.", vbCritical + vbOKOnly, "Error"
  518.             .Number_space.Text = "0"
  519.             .Function.Text = " "
  520.             Minus = False
  521.         ElseIf .Mode_type.Text = "RAD" Then
  522.             Trig_operation = Sec(CDbl(.Number_space.Text))
  523.             .Number_space.Text = Trig_operation
  524.         End If
  525.     Case Else
  526.         If .Mode_type.Text = "DEG" Then
  527.             Trig_operation = Sec(CDbl(.Number_space.Text) * PI / 180)
  528.             .Number_space.Text = Trig_operation
  529.         ElseIf .Mode_type.Text = "RAD" Then
  530.             Trig_operation = Sec(CDbl(.Number_space.Text))
  531.             .Number_space.Text = Trig_operation
  532.         End If
  533. End Select
  534.  
  535. End With
  536.  
  537. End Sub
  538.  
  539. Public Sub Cotangent_validation()
  540. Dim Actual_angle As String
  541.  
  542. With frmMain
  543.  
  544. Actual_angle = .Number_space.Text
  545. Angle = CDbl(.Number_space.Text) Mod 360
  546.  
  547. Select Case Abs(Angle)
  548.  
  549.     Case "45"
  550.         If .Mode_type.Text = "DEG" Then
  551.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  552.             .Number_space.Text = Format(Trig_operation, "#")
  553.         ElseIf .Mode_type.Text = "RAD" Then
  554.             Trig_operation = Cot(CDbl(.Number_space.Text))
  555.             .Number_space.Text = Trig_operation
  556.         End If
  557.     Case "135"
  558.         If .Mode_type.Text = "DEG" Then
  559.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  560.             .Number_space.Text = Format(Trig_operation, "#")
  561.         ElseIf .Mode_type.Text = "RAD" Then
  562.             Trig_operation = Cot(CDbl(.Number_space.Text))
  563.             .Number_space.Text = Trig_operation
  564.         End If
  565.     Case "225"
  566.         If .Mode_type.Text = "DEG" Then
  567.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  568.             .Number_space.Text = Format(Trig_operation, "#")
  569.         ElseIf .Mode_type.Text = "RAD" Then
  570.             Trig_operation = Cot(CDbl(.Number_space.Text))
  571.             .Number_space.Text = Trig_operation
  572.         End If
  573.     Case "315"
  574.         If .Mode_type.Text = "DEG" Then
  575.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  576.             .Number_space.Text = Format(Trig_operation, "#")
  577.         ElseIf .Mode_type.Text = "RAD" Then
  578.             Trig_operation = Cot(CDbl(.Number_space.Text))
  579.             .Number_space.Text = Trig_operation
  580.         End If
  581.     Case "0"
  582.         If .Mode_type.Text = "DEG" Then
  583.             .Number_space.Text = "-ERROR-"
  584.             MsgBox "The value of cot " & Actual_angle & "░ is undefined for degrees." _
  585.             , vbCritical + vbOKOnly, "Error"
  586.             .Number_space.Text = "0"
  587.             .Function.Text = " "
  588.             Minus = False
  589.         ElseIf .Mode_type.Text = "RAD" Then
  590.             If Actual_angle = "0" Then
  591.                 .Number_space.Text = "-ERROR-"
  592.                 MsgBox "The value of cot " & Actual_angle & "░ is undefined for radians." _
  593.                 , vbCritical + vbOKOnly, "Error"
  594.                 .Number_space.Text = "0"
  595.                 .Function.Text = ""
  596.             ElseIf Actual_angle Mod 360 >= 0 Then
  597.                 Trig_operation = Cot(CDbl(.Number_space.Text))
  598.                 .Number_space.Text = Trig_operation
  599.             End If
  600.         End If
  601.     Case "180"
  602.         If .Mode_type.Text = "DEG" Then
  603.             .Number_space.Text = "-ERROR-"
  604.             MsgBox "The value of cot " & Actual_angle & "░ is undefined for degrees.", vbCritical + vbOKOnly, "Error"
  605.             .Number_space.Text = "0"
  606.             .Function.Text = " "
  607.             Minus = False
  608.         ElseIf .Mode_type.Text = "RAD" Then
  609.             Trig_operation = Cot(CDbl(.Number_space.Text))
  610.             .Number_space.Text = Trig_operation
  611.         End If
  612.     Case "360"
  613.         If .Mode_type.Text = "DEG" Then
  614.             .Number_space.Text = "-ERROR-"
  615.             MsgBox "The value of cot " & Actual_angle & "░ is undefined for degrees.", vbCritical + vbOKOnly, "Error"
  616.             .Number_space.Text = "0"
  617.             .Function.Text = " "
  618.             Minus = False
  619.         ElseIf .Mode_type.Text = "RAD" Then
  620.             Trig_operation = Cot(CDbl(.Number_space.Text))
  621.             .Number_space.Text = Trig_operation
  622.         End If
  623.     Case "90"
  624.         If .Mode_type.Text = "DEG" Then
  625.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  626.             .Number_space.Text = Format(Trig_operation, "0")
  627.         ElseIf .Mode_type.Text = "RAD" Then
  628.             Trig_operation = Cot(CDbl(.Number_space.Text))
  629.             .Number_space.Text = Trig_operation
  630.         End If
  631.     Case "270"
  632.         If .Mode_type.Text = "DEG" Then
  633.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  634.             .Number_space.Text = Format(Trig_operation, "0")
  635.         ElseIf .Mode_type.Text = "RAD" Then
  636.             Trig_operation = Cot(CDbl(.Number_space.Text))
  637.             .Number_space.Text = Trig_operation
  638.         End If
  639.     Case Else
  640.         If .Mode_type.Text = "DEG" Then
  641.             Trig_operation = Cot(CDbl(.Number_space.Text) * PI / 180)
  642.             .Number_space.Text = Format(Trig_operation, "############")
  643.         ElseIf .Mode_type.Text = "RAD" Then
  644.             Trig_operation = Cot(CDbl(.Number_space.Text))
  645.             .Number_space.Text = Trig_operation
  646.         End If
  647.  
  648. End Select
  649.  
  650. End With
  651. End Sub
  652.  
  653. Public Sub Arctangent()
  654. Dim Tangent As String
  655.  
  656. With frmMain
  657.  
  658.     Tangent = CDbl(frmMain.Number_space.Text)
  659.     
  660.     Select Case Tangent
  661.         
  662.         Case 0
  663.             If .Mode_type.Text = "DEG" Then
  664.                 Trig_operation = Atn(Tangent) * 180 / PI
  665.                 frmMain.Number_space.Text = Format(Trig_operation, "0")
  666.             ElseIf .Mode_type.Text = "RAD" Then
  667.                 Trig_operation = Atn(Tangent)
  668.                 frmMain.Number_space.Text = Trig_operation
  669.             End If
  670.         Case 1
  671.             If .Mode_type.Text = "DEG" Then
  672.                 Trig_operation = Atn(Tangent) * 180 / PI
  673.                 frmMain.Number_space.Text = Format(Trig_operation, "##")
  674.             ElseIf .Mode_type.Text = "RAD" Then
  675.                 Trig_operation = Atn(Tangent)
  676.                 frmMain.Number_space.Text = Trig_operation
  677.             End If
  678.         Case -1
  679.             If .Mode_type.Text = "DEG" Then
  680.                 Trig_operation = 180 - (Atn(Abs(Tangent)) * 180 / PI)
  681.                 frmMain.Number_space.Text = Format(Trig_operation, "###")
  682.             ElseIf .Mode_type.Text = "RAD" Then
  683.                 Trig_operation = 180 - (Atn(Abs(Tangent)))
  684.                 frmMain.Number_space.Text = Trig_operation
  685.             End If
  686.         Case Else
  687.             If Tangent > 0 Then
  688.                 If .Mode_type.Text = "DEG" Then
  689.                     Trig_operation = Atn(Tangent) * 180 / PI
  690.                     frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  691.                 ElseIf .Mode_type.Text = "RAD" Then
  692.                     Trig_operation = Atn(Tangent)
  693.                     frmMain.Number_space.Text = Trig_operation
  694.                 End If
  695.             ElseIf Tangent < 0 Then
  696.                 If .Mode_type.Text = "DEG" Then
  697.                     Trig_operation = 180 - Abs(Atn(Tangent) * 180 / PI)
  698.                     frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  699.                 ElseIf .Mode_type.Text = "RAD" Then
  700.                     Trig_operation = 180 - Abs(Atn(Tangent))
  701.                     frmMain.Number_space.Text = Trig_operation
  702.                 End If
  703.             End If
  704.     End Select
  705. End With
  706. End Sub
  707.  
  708. Public Sub Arcsine()
  709. Dim Sine As Double
  710.  
  711. With frmMain
  712.     
  713.     Sine = CDbl(frmMain.Number_space.Text)
  714.     
  715.     Select Case Sine
  716.         Case 0.5
  717.             If .Mode_type.Text = "DEG" Then
  718.                 Trig_operation = Atn(Sine / Sqr(-Sine * Sine + 1)) * 180 / PI
  719.                 frmMain.Number_space.Text = Format(Trig_operation, "##")
  720.             ElseIf .Mode_type.Text = "RAD" Then
  721.                 Trig_operation = Atn(Sine / Sqr(-Sine * Sine + 1))
  722.                 frmMain.Number_space.Text = Trig_operation
  723.             End If
  724.         Case -0.5
  725.             If .Mode_type.Text = "DEG" Then
  726.                 Trig_operation = 180 + Atn(Abs(Sine / Sqr(-Sine * Sine + 1))) * 180 / PI
  727.                 frmMain.Number_space.Text = Format(Trig_operation, "###")
  728.             ElseIf .Mode_type.Text = "RAD" Then
  729.                 Trig_operation = 180 + Atn(Abs(Sine / Sqr(-Sine * Sine + 1)))
  730.                 frmMain.Number_space.Text = Trig_operation
  731.             End If
  732.         Case 1
  733.             If .Mode_type.Text = "DEG" Then
  734.                 frmMain.Number_space.Text = "90"
  735.             ElseIf .Mode_type.Text = "RAD" Then
  736.                 .Number_space.Text = "1.570796327"
  737.             End If
  738.         Case -1
  739.             If .Mode_type.Text = "DEG" Then
  740.                 frmMain.Number_space.Text = "270"
  741.             ElseIf .Mode_type.Text = "RAD" Then
  742.                 .Number_space.Text = "-1.570796327"
  743.             End If
  744.         Case Else
  745.             If Sine > 1 Or Sine < -1 Then
  746.                 frmMain.Number_space.Text = "-ERROR-"
  747.                 MsgBox "The value of sine must be from -1 to 1 inclusive for both degrees and radians.", vbCritical + vbOKOnly, "Error"
  748.                 frmMain.Function.Text = " "
  749.                 frmMain.Number_space.Text = "0"
  750.                 Minus = False
  751.             Else:
  752.                 If Sine > 0 Then
  753.                     If .Mode_type.Text = "DEG" Then
  754.                         Trig_operation = Atn(Sine / Sqr(-Sine * Sine + 1)) * 180 / PI
  755.                         frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  756.                     ElseIf .Mode_type.Text = "RAD" Then
  757.                         Trig_operation = Atn(Sine / Sqr(-Sine * Sine + 1))
  758.                         frmMain.Number_space.Text = Trig_operation
  759.                     End If
  760.                 ElseIf Sine < 0 Then
  761.                     If .Mode_type.Text = "DEG" Then
  762.                         Trig_operation = 360 - Atn(Abs(Sine / Sqr(-Sine * Sine + 1))) * 180 / PI
  763.                         frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  764.                     ElseIf .Mode_type.Text = "RAD" Then
  765.                         Trig_operation = 360 - Atn(Abs(Sine / Sqr(-Sine * Sine + 1)))
  766.                         frmMain.Number_space.Text = Trig_operation
  767.                     End If
  768.                 End If
  769.             End If
  770.     End Select
  771.     
  772. End With
  773.  
  774. End Sub
  775.  
  776. Public Sub Arccosine()
  777. Dim Cosine As Double
  778.  
  779. With frmMain
  780.     
  781.     Cosine = CDbl(frmMain.Number_space.Text)
  782.     
  783.     Select Case Cosine
  784.         
  785.         Case 0
  786.             If .Mode_type.Text = "DEG" Then
  787.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1)) * 180 / PI) + (2 * Atn(1) * 180 / PI)
  788.                 frmMain.Number_space.Text = Format(Trig_operation, "##")
  789.             ElseIf .Mode_type = "RAD" Then
  790.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1))) + (2 * Atn(1))
  791.                 frmMain.Number_space.Text = Trig_operation
  792.             End If
  793.         Case 0.5
  794.             If .Mode_type.Text = "DEG" Then
  795.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1)) * 180 / PI) + (2 * Atn(1) * 180 / PI)
  796.                 frmMain.Number_space.Text = Format(Trig_operation, "##")
  797.             ElseIf .Mode_type.Text = "RAD" Then
  798.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1))) + (2 * Atn(1))
  799.                 frmMain.Number_space.Text = Trig_operation
  800.             End If
  801.         Case -0.5
  802.             If .Mode_type.Text = "DEG" Then
  803.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1)) * 180 / PI) + (2 * Atn(1) * 180 / PI)
  804.                 frmMain.Number_space.Text = Format(Trig_operation, "###")
  805.             ElseIf .Mode_type.Text = "RAD" Then
  806.                 Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1))) + (2 * Atn(1))
  807.                 frmMain.Number_space.Text = Trig_operation
  808.             End If
  809.         Case 1
  810.             frmMain.Number_space.Text = "0"
  811.         Case -1
  812.             frmMain.Number_space.Text = "180"
  813.         Case Else
  814.             If Cosine > 1 Or Cosine < -1 Then
  815.                 frmMain.Number_space.Text = "-ERROR-"
  816.                 MsgBox "The value of cos must be from -1 to 1 inclusive", vbCritical + vbOKOnly, "Error"
  817.                 frmMain.Number_space.Text = "0"
  818.                 frmMain.Function.Text = " "
  819.                 Minus = False
  820.             Else:
  821.                 If Cosine > 0 Then
  822.                     If .Mode_type.Text = "DEG" Then
  823.                         Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1)) * 180 / PI) + (2 * Atn(1) * 180 / PI)
  824.                         frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  825.                     ElseIf .Mode_type.Text = "RAD" Then
  826.                         Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1))) + (2 * Atn(1))
  827.                         frmMain.Number_space.Text = Trig_operation
  828.                     End If
  829.                 ElseIf Cosine < 0 Then
  830.                     If .Mode_type.Text = "DEG" Then
  831.                         Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1)) * 180 / PI) + (2 * Atn(1) * 180 / PI)
  832.                         frmMain.Number_space.Text = Format(Trig_operation, "###0.######")
  833.                     ElseIf .Mode_type.Text = "RAD" Then
  834.                         Trig_operation = (Atn(-Cosine / Sqr(-Cosine * Cosine + 1))) + (2 * Atn(1))
  835.                         frmMain.Number_space.Text = Trig_operation
  836.                     End If
  837.                 End If
  838.             End If
  839.     End Select
  840.     
  841. End With
  842.  
  843. End Sub
  844.