VB6
- Calculadora Científica
Que tal uma calculadora cientifica feita no VB6 ?
Se você pensa que é necessário um código muito complexo para fazer uma calculadora científica vai se espantar ao ver o código desta que eu apresento aqui. O código precisa de refinamento mas mostra que com criatividade você pode fazer coisas incríveis com a linguagem Visual Basic.
Calculadora Científica
Na verdade eu creio que desenhar a interface da aplicação vai dar mais trabalho que o código necessário para ela funcionar.
Crie um novo projeto do tipo STANDARD EXE e altere o nome do formulário form1 para calculator.frm.
Crie o seguinte leiaute no formulário do projeto:

A seguir inclua o código abaixo no formulário:
Dim op1 As Double Dim res As Double Dim op2 As Double Dim n As Double Dim i As Integer Dim operator As String Dim s As String Dim c As String
Private Sub cmdclear_Click()
txtResultado.Text = ""
End Sub
Private Sub cmddegrad_Click(Index As Integer)
op1 = Val(txtResultado.Text)
Select Case (Index)
Case 0
res = op1 * 3.142 / 180
Case 1
res = 180 * op1 / 3.142
End Select
txtResultado.Text = res
End Sub
Private Sub cmde_Click()
txtResultado.Text = "2.71828182845904523536"
End Sub
Private Sub cmdlog_Click(Index As Integer)
op1 = Val(txtResultado.Text)
Select Case (Index)
Case 0
res = Log(op1)
Case 1
res = Log(op1) / Log(10)
Case 2
res = 10 ^ op1
End Select
txtResultado.Text = res
End Sub
Private Sub cmdmemory_Click(Index As Integer)
Static m As Double
Select Case (Index)
Case 0
m = m + Val(txtResultado.Text)
Case 1
m = m - Val(txtResultado.Text)
Case 2
m = 0
txtResultado.Text = ""
Case 3
txtResultado.Text = m
MsgBox m
End Select
If m = 0 Then
Text1.Text = ""
Else
Text1.Text = "M"
End If
End Sub
Private Sub cmdnumber_Click(Index As Integer)
Select Case (Index)
Case 0
txtResultado.Text = txtResultado + "1"
Case 1
txtResultado.Text = txtResultado + "2"
Case 2
txtResultado.Text = txtResultado + "3"
Case 3
txtResultado.Text = txtResultado + "4"
Case 4
txtResultado.Text = txtResultado + "5"
Case 5
txtResultado.Text = txtResultado + "6"
Case 6
txtResultado.Text = txtResultado + "7"
Case 7
txtResultado.Text = txtResultado + "8"
Case 8
txtResultado.Text = txtResultado + "9"
Case 9
txtResultado.Text = txtResultado + "0"
Case 10
txtResultado.Text = txtResultado + "."
Case 11
txtResultado.Text = txtResultado + "A"
Case 12
txtResultado.Text = txtResultado + "B"
Case 13
txtResultado.Text = txtResultado + "C"
Case 14
txtResultado.Text = txtResultado + "D"
Case 15
txtResultado.Text = txtResultado + "E"
Case 16
txtResultado.Text = txtResultado + "F"
End Select
End Sub
Private Sub cmdoperation_Click(Index As Integer)
On Error GoTo trataerro
Select Case (Index)
Case 0
op1 = Val(txtResultado.Text)
operator = "/"
txtResultado.Text = ""
Case 1
op1 = Val(txtResultado.Text)
operator = "*"
txtResultado.Text = ""
Case 2
op1 = Val(txtResultado.Text)
operator = "+"
txtResultado.Text = ""
Case 3
op1 = Val(txtResultado.Text)
operator = "-"
txtResultado.Text = ""
Case 5
op1 = Val(txtResultado.Text)
operator = "^"
txtResultado.Text = ""
Case 6
op1 = Val(txtResultado.Text)
operator = "%"
txtResultado.Text = ""
Case 7
op1 = Val(txtResultado.Text)
operator = "$"
txtResultado.Text = ""
Case 4
op2 = Val(txtResultado.Text)
Select Case (operator)
Case "+"
res = op1 + op2
Case "-"
res = op1 - op2
Case "*"
res = op1 * op2
Case "/"
res = op1 / op2
Case "^"
res = op1 ^ op2
Case "%"
res = op1 / op2 * 100
Case "$"
res = op1 ^ (1 / op2)
End Select
txtResultado.Text = res
op1 = res
End Select
Exit Sub
trataerro:
MsgBox "Erro no processamento."
End Sub
Private Sub cmdpercent_Click()
res = res * 100
txtResultado.Text = res
End Sub
Private Sub cmdpi_Click()
txtResultado.Text = 62832 / 20000
End Sub
Private Sub cmdpn_Click()
res = Val(txtResultado.Text)
res = -(res)
txtResultado.Text = res
End Sub
Private Sub cmdsqr_Click(Index As Integer)
op1 = Val(txtResultado.Text)
Select Case (Index)
Case 0
res = op1 * op1 * op1
Case 1
res = op1 * op1
Case 2
res = Sqr(op1)
Case 3
res = 1 / op1
Case 4
n = 1
For i = 1 To op1
n = i * n
Next i
res = n
End Select
txtResultado.Text = res
End Sub
Private Sub cmdtrigno_Click(Index As Integer)
op1 = Val(txtResultado.Text)
Select Case (Index)
Case 0
res = Sin(op1 * 3.142 / 180)
Case 1
res = Cos(op1 * 3.142 / 180)
Case 2
res = Tan(op1 * 3.142 / 180)
Case 3
res = 1 / Tan(op1 * 3.142 / 180)
End Select
txtResultado.Text = res
End Sub
Private Sub Command1_Click()
s = txtResultado.Text
c = Len(s)
If c = 0 Then
txtResultado.Text = ""
Else
c = c - 1
txtResultado.Text = Left(s, c)
End If
End Sub Private Sub Form_Load() txtResultado.Text = "www.macoratti.net" End Sub |
E pronto ! podemos testar a calculadora:

Pegue o projeto completo aqui : CalculadoraCientifica.zip
Veja a mesma calculadora no VB .NET : VB .NET - Calculadora Cientifica
Eu sei é apenas Visual Basic , mas
eu gosto...![]()
José Carlos Macoratti