Esercizio fatto questa sera con mia figlia Roberta, una calcolatrice con tanto di percentuale, decimali ecc. per scaricare il file del progetto clicca qui
__________________________________________________________________________________________
Dim Risultato As String, Numero As String
Enum TipoOperazione
Cancella = 0
Percentuale
Divisione
Moltiplicazione
Sottrazione
Addizione
Uguale
End Enum
Dim Operazione As TipoOperazione
_________________________________________________________________________________________
Private Sub CmdCanc_Click()
Numero = ""
Text1.Text = 0
End Sub
__________________________________________________________________________________________
Private Sub CmdCancTutto_Click()
Numero = ""
Risultato = ""
Operazione = Cancella
Text1.Text = 0
End Sub
__________________________________________________________________________________________
Private Sub CmdDiviso_Click()
Risultato = Calcola()
Numero = ""
Text1.Text = Risultato
Operazione = Divisione
End Sub
__________________________________________________________________________________________
Private Sub CmdMeno_Click()
Risultato = Calcola
Numero = ""
Text1.Text = Risultato
Operazione = Sottrazione
End Sub
__________________________________________________________________________________________
Private Sub CmdPer_Click()
Risultato = Calcola()
Numero = ""
Text1.Text = Risultato
Operazione = Moltiplicazione
End Sub
__________________________________________________________________________________________
Private Sub CmdPercentuale_Click()
Dim OldOperazione As TipoOperazione
OldOperazione = Operazione
If Operazione > 3 Then
Operazione = Moltiplicazione
Numero = Calcola
End If
Operazione = Percentuale
Numero = Calcola
Operazione = OldOperazione
Risultato = Calcola
Numero = ""
Text1.Text = Risultato
Operazione = Uguale
End Sub
__________________________________________________________________________________________
Private Sub CmdPiu_Click()
Risultato = Calcola()
Numero = ""
Text1.Text = Risultato
Operazione = Addizione
End Sub
__________________________________________________________________________________________
Private Sub CmdPiuMeno_Click()
If InStr(Text1.Text, "-") = 0 Then
If Numero <> "" Then
Numero = "-" & Numero
Text1.Text = Numero
Else
Risultato = "-" & Risultato
Text1.Text = Risultato
End If
Else
If Numero <> "" Then
Numero = Right(Numero, Len(Numero) - 1)
Text1.Text = Numero
Else
Risultato = Right(Risultato, Len(Risultato) - 1)
Text1.Text = Risultato
End If
End If
End Sub
__________________________________________________________________________________________
Private Sub CmdPunto_Click()
If InStr(Text1.Text, ".") = 0 And InStr(Text1.Text, ",") = 0 Then
Numero = Numero & ","
Text1.Text = Numero
End If
End Sub
__________________________________________________________________________________________
Private Sub CmdUguale_Click()
Risultato = Calcola
Numero = ""
Text1.Text = Risultato
Operazione = Uguale
End Sub
__________________________________________________________________________________________
Private Sub Command1_Click(Index As Integer)
Numero = Numero & Index
Text1.Text = Numero
Text1.SetFocus
End Sub
__________________________________________________________________________________________
Function Calcola() As String
Dim R As Double, N As Double
On Error GoTo GestionErreurP
R = CDbl(Risultato)
On Error GoTo GestionErreurS
N = CDbl(Numero)
On Error GoTo 0
Select Case Operazione
Case Percentuale
Calcola = CStr(N * 1 / 100)
Case Divisione
If N = 0 Then
Calcola = "Errore, impossibile di dividere"
Else
Calcola = CStr(R / N)
End If
Case Moltiplicazione
Calcola = CStr(R * N)
Case Sottrazione
Calcola = CStr(R - N)
Case Addizione
Calcola = CStr(R + N)
Case Uguale
If N = 0 Then
Calcola = Risultato
Else
Calcola = Numero
End If
Case Else
Calcola = Numero
End Select
Exit Function
GestionErreurP:
Risultato = 0
Resume
GestionErreurS:
Numero = 0
Resume
End Function
__________________________________________________________________________________________
Nessun commento:
Posta un commento