Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Calcolatrice  - source.txt

source.txt

Caricato da: Bonny
Scarica il programma completo

  1. Public Class Form1
  2.     Dim Flag As Boolean = False
  3.     Dim Operazione As String = ""
  4.     Dim A As Double = 0
  5.     Dim B As Double = 0
  6.     Dim Risultato As Double = 0
  7.  
  8.     Function Calcolo(ByVal OP As String, ByVal a As Double, Optional ByVal b As Double = 0) As Double
  9.         Select Case OP
  10.             Case "+"
  11.                 Calcolo = a + b
  12.             Case "/"
  13.                 Calcolo = a / b
  14.             Case "*"
  15.                 Calcolo = a * b
  16.             Case "-"
  17.                 Calcolo = a - b
  18.             Case "sqrt"
  19.                 Calcolo = System.Math.Sqrt(a)
  20.             Case "LN"
  21.                 Calcolo = System.Math.Log(a)
  22.             Case "^2"
  23.                 Calcolo = a * a
  24.         End Select
  25.     End Function
  26.  
  27.     Private Sub cmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd_0.Click, Cmd_1.Click, Cmd_2.Click, Cmd_3.Click, Cmd_4.Click, Cmd_5.Click, Cmd_6.Click, Cmd_7.Click, Cmd_8.Click, Cmd_9.Click, Cmd_Delete.Click, Cmd_divisione.Click, Cmd_Moltiplicazione.Click, Cmdquad.Click, Cmd_LN.Click, Cmd_pn.Click, Cmd_risultato.Click, Cmd_Somma.Click, Cmd_Sottrazione.Click, Cmd_sqrt.Click, Cmd_Virgola.Click
  28.         'controllo tramite Instr() per aggiungere la virgola
  29.         If sender Is Cmd_Virgola Then
  30.             If InStr(txtcalc.Text, ",") = 0 Then
  31.                 txtcalc.Text = txtcalc.Text & ","
  32.             End If
  33.         End If
  34.         ' Cambia segno
  35.         If sender Is Cmd_pn Then
  36.             If txtcalc.Text <> "" Then
  37.                 txtcalc.Text = CDbl(txtcalc.Text) * (-1)
  38.             End If
  39.         End If
  40.         '######
  41.         If Not IsNumeric(sender.text) And Not Flag Then
  42.             If sender.text = "sqrt" Or sender.text = "LN" Or sender.text = "^2" And IsNumeric(txtcalc.Text) Then
  43.                 If sender.text = "^2" Then
  44.                     Risultato = Calcolo(sender.text, CInt(txtcalc.Text))
  45.                     txtcalc.Text = Risultato.ToString
  46.                     Exit Sub
  47.                 End If
  48.                 If CInt(txtcalc.Text) < 0 Then
  49.                     txtcalc.Text = "Valore non valido"
  50.                 End If
  51.                 If txtcalc.Text <> "Valore non valido" Then
  52.                     Risultato = Calcolo(sender.text, CInt(txtcalc.Text))
  53.                     txtcalc.Text = Risultato.ToString
  54.                 End If
  55.             End If
  56.             If sender.text = "/" Or sender.text = "*" Or sender.text = "+" Or sender.text = "-" Then
  57.                 If txtcalc.Text <> "" Then
  58.                     Flag = True
  59.                     Operazione = sender.text
  60.                     A = CDbl(txtcalc.Text)
  61.                     txtcalc.Text = ""
  62.                     txtcalc.Focus()
  63.                     Exit Sub
  64.                 Else
  65.                     Exit Sub
  66.                 End If
  67.             End If
  68.         ElseIf Not Flag And IsNumeric(sender.text) Then
  69.             txtcalc.Text = txtcalc.Text & sender.text
  70.             Exit Sub
  71.         End If
  72.  
  73.         If Not IsNumeric(sender.text) And Flag Then
  74.             If sender.text = "=" Then
  75.                 Flag = False
  76.                 B = CDbl(txtcalc.Text)
  77.                 Risultato = Calcolo(Operazione, A, B)
  78.                 txtcalc.Text = Risultato.ToString 'cast
  79.             End If
  80.         ElseIf Flag Then
  81.             txtcalc.Text = txtcalc.Text & sender.text
  82.         End If
  83.  
  84.         If sender Is Cmd_Delete Then
  85.             With txtcalc
  86.                 .Text = ""
  87.                 .Focus()
  88.             End With
  89.         End If
  90.  
  91.     End Sub
  92. End Class