sabato 18 aprile 2009

Visual Basic 6 : Calcolatrice in VB6

 

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