Advertisement
s00rk

Calculadora con Funciones Trigonometricas

Oct 12th, 2011
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Dim operador
  2. Dim memoria1
  3. Dim punto
  4. Dim x As Single
  5. 'PI Sera una variable global, y se inicializa en Form_load()
  6. 'resultado es usado para cuando mostramos el resultado, al dar click en otro numero
  7. Dim PI
  8. Dim resultado
  9. 'Cada que apretamos un boton de numero se checa si ya se apreto "=" cuando es asi resultado = true
  10. 'asi que acepta la condicion y pasa a hacer la instruccion que es limpiar el campo y cambiar resultado a false
  11. Sub Checar()
  12.     If resultado = True Then
  13.         txtresultado = ""
  14.         resultado = False
  15.     End If
  16. End Sub
  17. 'Las funciones Sin, Cos, Tan estos deven ingresarseles radianes no grados asi que convertimos
  18. 'los grados a radianes
  19. Private Function GetRad(ByVal numero As Single) As Double
  20.     GetRad = ((numero * PI) / 180)
  21. End Function
  22.  
  23. Private Sub CmdNum0_Click()
  24.     Checar
  25.     txtresultado = txtresultado & 0
  26. End Sub
  27. Private Sub CmdNum1_Click()
  28.     Checar
  29.     txtresultado = txtresultado & 1
  30. End Sub
  31. Private Sub CmdNum2_Click()
  32.     Checar
  33.     txtresultado = txtresultado & 2
  34. End Sub
  35. Private Sub CmdNum3_Click()
  36.     Checar
  37.     txtresultado = txtresultado & 3
  38. End Sub
  39. Private Sub CmdNum4_Click()
  40.     Checar
  41.     txtresultado = txtresultado & 4
  42. End Sub
  43. Private Sub CmdNum5_Click()
  44.     Checar
  45.     txtresultado = txtresultado & 5
  46. End Sub
  47. Private Sub CmdNum6_Click()
  48.     Checar
  49.     txtresultado = txtresultado & 6
  50. End Sub
  51. Private Sub CmdNum7_Click()
  52.     Checar
  53.     txtresultado = txtresultado & 7
  54. End Sub
  55. Private Sub CmdNum8_Click()
  56.     Checar
  57.     txtresultado = txtresultado & 8
  58. End Sub
  59. Private Sub CmdNum9_Click()
  60.     Checar
  61.     txtresultado = txtresultado & 9
  62. End Sub
  63.  
  64. Private Sub CmdOpedecimal_Click()
  65.     Checar
  66.     If punto = 0 Then
  67.         txtresultado = txtresultado & "."
  68.         punto = 1
  69.     End If
  70. End Sub
  71. Private Sub CmdOpediv_Click()
  72.     memoria1 = txtresultado
  73.     txtresultado = ""
  74.     operador = "/"
  75.     punto = 0
  76. End Sub
  77. Private Sub CmdOpemas_Click()
  78.     memoria1 = txtresultado
  79.     txtresultado = ""
  80.     operador = "+"
  81.     punto = 0
  82. End Sub
  83. Private Sub CmdOpemenos_Click()
  84.     memoria1 = txtresultado
  85.     txtresultado = ""
  86.     operador = "-"
  87.     punto = 0
  88. End Sub
  89. Private Sub CmdOpemulti_Click()
  90.     memoria1 = txtresultado
  91.     txtresultado = ""
  92.     operador = "*"
  93.     punto = 0
  94. End Sub
  95. Private Sub CmdOpeigual_Click()
  96.     Select Case operador
  97.         Case "+":
  98.             txtresultado = Val(memoria1) + Val(txtresultado)
  99.         Case "-":
  100.             txtresultado = Val(memoria1) - Val(txtresultado)
  101.         Case "*":
  102.             txtresultado = Val(memoria1) * Val(txtresultado)
  103.         Case "/":
  104.             txtresultado = Val(memoria1) / Val(txtresultado)
  105.     End Select
  106.     resultado = True
  107. End Sub
  108. Private Sub CmdCancel_Click()
  109.     txtresultado = ""
  110. End Sub
  111. Private Sub CmdCancelE_Click()
  112.     txtresultado = ""
  113. End Sub
  114.  
  115. Private Sub CmdOpesin_Click()
  116.     x = Val(txtresultado)
  117.     txtresultado = Sin(GetRad(x))
  118.     resultado = True
  119. End Sub
  120. Private Sub CmdOpecos_Click()
  121.     x = Val(txtresultado)
  122.     txtresultado = Cos(GetRad(x))
  123.     resultado = True
  124. End Sub
  125.  
  126. Private Sub CmdOpetan_Click()
  127.     x = Val(txtresultado)
  128.     txtresultado = Tan(GetRad(x))
  129.     resultado = True
  130. End Sub
  131.  
  132. Private Sub Form_Load()
  133.     punto = 0
  134.     PI = 4 * Math.Atn(1)
  135.     resultado = False
  136. End Sub
  137.  
  138.  
  139.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement