All pastes #927143 Raw Edit

Something

public text v1 · immutable
·published 2008-03-04 01:24 UTC
rendered paste body
Public Class Form1
    Dim valeur1, valeur2 As Single
    Dim ResultatAffiche As Boolean = False
    Dim DerniereOp As String = ""
    Dim TextChng As Boolean = False

    Public Sub Operation(ByVal Op As String, ByVal Type As Int16)
        If Type = 1 Then ' Fonctions qui n'ont pas besoin de DerniereOp
            Select Case Op
                Case "SQRT"
                    txtAffichage.Text = System.Math.Sqrt(Convert.ToSingle(txtAffichage.Text))
                Case "1/X"
                    txtAffichage.Text = 1 / Convert.ToSingle(txtAffichage.Text)
                Case "Effacer"
                    txtAffichage.Text = txtAffichage.Text.Remove(txtAffichage.Text.Length - 1)
                    If txtAffichage.Text.Length = 0 Then
                        txtAffichage.Text = "0"
                    End If
            End Select


        ElseIf Type = 2 Then ' Fonctions qui ont besoin de DerniereOp
            If DerniereOp.Length = 0 Then
                DerniereOp = Op
                ResultatAffiche = True
                valeur1 = Convert.ToSingle(txtAffichage.Text)
                TextChng = False
            ElseIf Op = "Egal" Or TextChng = True Then
                Select Case DerniereOp
                    Case "Addition"
                        valeur2 = Convert.ToSingle(txtAffichage.Text) + valeur1
                    Case "Soustraction"
                        valeur2 = valeur1 - Convert.ToSingle(txtAffichage.Text)
                    Case "Multiplication"
                        valeur2 = Convert.ToSingle(txtAffichage.Text) * valeur1
                    Case "Division"
                        valeur2 = valeur1 / Convert.ToSingle(txtAffichage.Text)
                End Select
                txtAffichage.Text = valeur2
                valeur1 = Convert.ToSingle(txtAffichage.Text)

                If Op <> "Egal" Then
                    DerniereOp = Op
                End If

                ResultatAffiche = True
                TextChng = False
            Else
                DerniereOp = Op
            End If
        End If

    End Sub

    Public Sub AfficherNumero(ByVal Num As String)
        If ResultatAffiche = True Then
            txtAffichage.Clear()
        End If
        If txtAffichage.Text = "0" And Num <> "-2" Then
            txtAffichage.Clear()
        End If
        Select Case Num
            Case 1
                txtAffichage.Text += "1"
            Case 2
                txtAffichage.Text += "2"
            Case 3
                txtAffichage.Text += "3"
            Case 4
                txtAffichage.Text += "4"
            Case 5
                txtAffichage.Text += "5"
            Case 6
                txtAffichage.Text += "6"
            Case 7
                txtAffichage.Text += "7"
            Case 8
                txtAffichage.Text += "8"
            Case 9
                txtAffichage.Text += "9"
            Case 0
                If Not (txtAffichage.Text.IndexOf(0) = "0" And txtAffichage.Text.Length = 1) Then
                    txtAffichage.Text += "0"
                Else
                    Exit Sub
                End If
            Case "-1" ' Affiche le point
                If Not txtAffichage.Text.Contains(".") Then
                    If txtAffichage.Text.Length = 0 Then
                        txtAffichage.Clear()
                        txtAffichage.Text += "0."
                    Else
                        txtAffichage.Text += "."
                    End If
                End If
            Case "-2" ' Affiche le -
                If txtAffichage.Text.Length > 0 And txtAffichage.Text <> "0" Then
                    txtAffichage.Text = Convert.ToSingle(txtAffichage.Text) * -1
                End If
        End Select
        ResultatAffiche = False
    End Sub


    Private Sub btnUn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUn.Click
        AfficherNumero(1)
    End Sub
    Private Sub btnDeux_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeux.Click
        AfficherNumero(2)
    End Sub
    Private Sub btnTrois_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTrois.Click
        AfficherNumero(3)
    End Sub
    Private Sub btnQuatres_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuatres.Click
        AfficherNumero(4)
    End Sub
    Private Sub btnCinq_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCinq.Click
        AfficherNumero(5)
    End Sub
    Private Sub btnSix_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSix.Click
        AfficherNumero(6)
    End Sub
    Private Sub btnSept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSept.Click
        AfficherNumero(7)
    End Sub
    Private Sub btnHuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHuit.Click
        AfficherNumero(8)
    End Sub
    Private Sub btnNeuf_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNeuf.Click
        AfficherNumero(9)
    End Sub
    Private Sub btnZero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZero.Click
        AfficherNumero(0)
    End Sub
    Private Sub btnPoint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPoint.Click
        AfficherNumero("-1")
    End Sub
    Private Sub btnSigne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSigne.Click
        AfficherNumero("-2")
    End Sub
    Private Sub btnAdditioner_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdditioner.Click
        Operation("Addition", 2)
    End Sub

    Private Sub btnSoustraire_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSoustraire.Click
        Operation("Soustraction", 2)
    End Sub

    Private Sub btnMultiplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMultiplier.Click
        Operation("Multiplication", 2)
    End Sub

    Private Sub btnDiviser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDiviser.Click
        Operation("Division", 2)
    End Sub

    Private Sub btnEgal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEgal.Click
        Operation("Egal", 2)
    End Sub

    Private Sub btnC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnC.Click
        txtAffichage.Text = "0"
        valeur1 = vbEmpty
        valeur2 = vbEmpty
        TextChng = False
        DerniereOp = ""
    End Sub
    Private Sub txtAffichage_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        MessageBox.Show("bas")
        TextChng = True
    End Sub

    Private Sub btnCarre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarre.Click
        Operation("SQRT", 1)
    End Sub

    Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
        Operation("1/X", 1)
    End Sub
    Private Sub btnBackspace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackspace.Click
        Operation("Effacer", 1)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtAffichage.Text = "0"
        Me.KeyPreview = True
    End Sub

    Private Sub Form1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
        If (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) Then ' Numeros entre 0 et 9
            AfficherNumero(e.KeyChar)
        ElseIf Asc(e.KeyChar) = 46 Or Asc(e.KeyChar) = 44 Then ' Virgule (,) ou Point (.) [Affichera un . par defaut)
            AfficherNumero(-1)
        ElseIf Asc(e.KeyChar) = 95 Then ' -
            AfficherNumero(-2)
        ElseIf Asc(e.KeyChar) = 8 Then ' BackSpace
            Operation("Effacer", 1)

        End If

    End Sub


End Class