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