Option Explicit
Dim numero As Double
Private Sub Cmdcos_Click()
If Txtcalc.Text <> "" Then
Txtcalc.Text = coseno(CDbl(Txtcalc.Text))
End If
End Sub
Private Sub Cmdcubo_Click()
Static cub As Double
If Txtcalc.Text <> "" Then
Txtcalc.Text = cubo(CDbl(Txtcalc.Text))
cub = CDbl(Txtcalc.Text)
If cub > 9999999999# Then
MsgBox "Max 11 caratteri", vbExclamation, "Over range"
Call init
End If
End If
End Sub
Private Sub Cmddel_Click()
Call init
Txtcalc.SetFocus
End Sub
Private Sub Cmddiv_Click()
If Txtcalc.Text = "" Then
contdiv = 0
Exit Sub
End If
contdiv = contdiv + 1
If contdiv > 1 Then
Call calcola
flag = True
operazione = "/"
Txtcalc.Text = risultato
Else
Call calcola
flag = True
operazione = "/"
End If
End Sub
Private Sub cmdinfo_Click()
End Sub
Private Sub cmdlog_Click()
If Txtcalc.Text <> "" Then
Txtcalc.Text = ln(CDbl(Txtcalc.Text))
End If
End Sub
Private Sub Cmdmeno_Click()
If Txtcalc.Text = "" Then
contmeno = 0
Exit Sub
End If
contmeno = contmeno + 1
If contmeno > 1 Then
Call calcola
flag = True
operazione = "-"
Txtcalc.Text = risultato
Else
Call calcola
flag = True
operazione = "-"
End If
End Sub
Private Sub Cmdnum_Click(Index As Integer)
If Not flag2 Then
Txtcalc.Text = Txtcalc.Text & Index
Else
Txtcalc.Text = Index
flag2 = False
End If
If flag Then
Txtcalc.Text = Index
End If
flag = False
Txtcalc.SetFocus
End Sub
Private Sub Cmdper_Click()
If Txtcalc.Text = "" Then
contper = 0
Exit Sub
End If
contper = contper + 1
If contper > 1 Then
Call calcola
flag = True
operazione = "*"
Txtcalc.Text = risultato
Else
Call calcola
flag = True
operazione = "*"
End If
End Sub
Private Sub Cmdperc_Click()
operazione = "%"
End Sub
Private Sub Cmdpiu_Click()
If Txtcalc.Text = "" Then
contpiu = 0
Exit Sub
End If
contpiu = contpiu + 1
If contpiu > 1 Then
Call calcola
flag = True
flag2 = False
operazione = "+"
Txtcalc.Text = risultato
Else
Call calcola
flag = True
flag2 = False
operazione = "+"
End If
End Sub
Private Sub Cmdpiumeno_Click()
If Len(Txtcalc.Text) = 0 Then
Exit Sub
End If
operazione = "+"
contpiumeno = contpiumeno + 1
If (contpiumeno Mod 2) <> 0 Then
cmdlog.Enabled = False
Txtcalc.Text = "-" & Txtcalc.Text
Else
cmdlog.Enabled = True
Txtcalc.Text = Abs(Txtcalc.Text)
End If
End Sub
Private Sub Cmdquad_Click()
If Txtcalc.Text <> "" Then
Txtcalc.Text = q(CDbl(Txtcalc.Text))
End If
End Sub
Private Sub Cmdradice_Click()
If Txtcalc.Text <> "" Then
Txtcalc.Text = r(CDbl(Txtcalc.Text))
End If
End Sub
Private Sub Cmdris_Click()
If Txtcalc.Text = "" Then
Exit Sub
End If
Call calcola
Txtcalc.Text = CDbl(risultato)
risultato = 0
operazione = "+"
flag2 = True
End Sub
Private Sub Cmdseno_Click()
If Txtcalc.Text <> "" Then
Txtcalc.Text = seno(CDbl(Txtcalc.Text))
End If
End Sub
Private Sub Cmdvirgola_Click()
If Len(Txtcalc.Text) = 0 Then
Txtcalc.Text = "error"
End If
If InStr(Txtcalc.Text, ",") = 0 Then
Txtcalc.Text = Txtcalc.Text & ","
End If
End Sub
Private Sub Form_Load()
Call init
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("Vuoi uscire dal programma?", vbQuestion + vbYesNoCancel, _
"Esci") = vbYes Then
MsgBox "Programma realizzato da Albert King (11\05\2006)" & _
vbCrLf & "Calcolatrice version 1.0 MS_Visual Basic", vbInformation, _
"Creatore"
Unload Frmcalc
Else
Cancel = True
End If
End Sub
Private Sub mnuesci_Click()
Call about
End Sub
Private Sub mnunotte_Click()
If mnunotte.Checked = False Then
mnunotte.Checked = True
mnustandard.Checked = False
For i = 0 To 9
Cmdnum(i).BackColor = &HFF0000
Next i
Cmddel.BackColor = &HFF8080
Frmcalc.BackColor = &HC00000
Cmdseno.BackColor = &HC000&
Cmdcos.BackColor = &HC000&
cmdlog.BackColor = &HC000&
Cmdpiu.BackColor = &HC00000
Cmdmeno.BackColor = &HC00000
Cmdpiumeno.BackColor = &HC000C0
Cmdper.BackColor = &HC00000
Cmddiv.BackColor = &HC00000
Cmdvirgola.BackColor = &HC000C0
Cmdris.BackColor = &HFF8080
Txtcalc.BackColor = &HC0C000
Cmdcubo.BackColor = &HFF8080
Cmdquad.BackColor = &HFF8080
Cmdradice.BackColor = &HFF8080
End If
End Sub
Private Sub mnustandard_Click()
If mnustandard.Checked = False Then
mnustandard.Checked = True
mnunotte.Checked = False
For i = 0 To 9
Cmdnum(i).BackColor = &HC0FFFF
Next i
Cmdseno.BackColor = &H8080FF
Cmdcos.BackColor = &H8080FF
cmdlog.BackColor = &H8080FF
Frmcalc.BackColor = &HC0FFC0
Cmddel.BackColor = &H80FFFF
Cmdpiu.BackColor = &H80FF&
Cmdmeno.BackColor = &H80FF&
Cmdper.BackColor = &H80FF&
Cmddiv.BackColor = &H80FF&
Txtcalc.BackColor = vbWhite
End If
End Sub
Private Sub Txtcalc_Change()
If Not IsNumeric(Txtcalc.Text) Then
Txtcalc.Text = ""
End If
If Val(Txtcalc.Text) <= 0 Then
cmdlog.Enabled = False
Cmdradice.Enabled = False
Else
cmdlog.Enabled = True
Cmdradice.Enabled = True
End If
End Sub