Calculatrice pour enfant, mais elle marche !!

Soyez le premier à donner votre avis sur cette source.

Vue 11 597 fois - Téléchargée 673 fois

Description

addition, division, soustraction, multiplication, pourcentage! presque comme une vrai !:)
utilisation par le pavé numérique. Et pseudo design enfantin..(JOKER!)

Source / Exemple :


Dim strEcr As String
Dim NouveauNumero As Double
Dim AncienNumero As Double
Dim Action As String
Dim ActionPourcentage As Boolean

Private Sub form_load()
    frmCalculatrice.Left = 6000
    frmCalculatrice.Top = 1200
End Sub
Private Sub cmdCalculatrice_Click(Index As Integer)
    strEcr = strEcr & CByte(Index)
    appendString (strEcr)
End Sub

Private Sub appendString(strEcr)
    txt_calculatrice.Text = strEcr
End Sub

Private Sub CmdDecimal_Click()
    strEcr = strEcr & ","
    appendString (strEcr)
End Sub

Private Sub CmdFIN_Click()
    Unload Me
End Sub

Private Sub CmdNew_Click()
    strEcr = ""
    txt_calculatrice.Text = 0
    NouveauNumero = 0
    AncienNumero = 0
    Action = ""
    lblContainer.Caption = ""
End Sub

Private Sub cmdOperations_Click(Index As Integer)
    On Error Resume Next
    If Not ActionPourcentage = True Then
    Select Case Action
        '----------------------------------------------
        Case "Addition"
            NouveauNumero = CDbl(strEcr)
            txt_calculatrice.Text = NouveauNumero + CDbl(lblContainer.Caption)
            lblContainer.Caption = txt_calculatrice.Text
        '----------------------------------------------
        Case "Soustraction"
            NouveauNumero = CDbl(strEcr)
            txt_calculatrice.Text = CDbl(lblContainer.Caption) - NouveauNumero
            lblContainer.Caption = txt_calculatrice.Text

        Case "Multiplication"
            NouveauNumero = CDbl(strEcr)
            txt_calculatrice.Text = CDbl(lblContainer.Caption) * NouveauNumero
            lblContainer.Caption = txt_calculatrice.Text
        Case "Division"
            NouveauNumero = CDbl(strEcr)
            txt_calculatrice.Text = CDbl(lblContainer.Caption) / NouveauNumero
            lblContainer.Caption = txt_calculatrice.Text
        Case "Egale"
            '
        Case Else
            lblContainer.Caption = txt_calculatrice.Text
    End Select
    Select Case Index
        Case 0
            Action = "Addition"
        Case 1
            '
            Action = "Soustraction"
        Case 2
            '
            Action = "Multiplication"
        Case 3
            '
            Action = "Division"
        Case 4
            Action = "Egale"
    End Select
    Else
        Dim result As Double
        If Action = "Addition" Then
            result = CDbl(lblContainer.Caption) + CDbl(txt_calculatrice.Text)
        Else
            result = CDbl(lblContainer.Caption) - CDbl(txt_calculatrice.Text)
        End If
        txt_calculatrice.Text = result
        ActionPourcentage = False
        Action = ""
    End If
    '
    'remise de l'affichage à 0
    strEcr = ""
End Sub
Private Sub CmdPourcent_Click()
    On Error Resume Next
    txt_calculatrice.Text = (CDbl(lblContainer.Caption) * CDbl(txt_calculatrice.Text)) _
    / 100
    ActionPourcentage = True
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 48 '0
            cmdCalculatrice_Click (0)
            Text1.Text = ""
        Case 49 '1
            cmdCalculatrice_Click (1)
            Text1.Text = ""
        Case 50 '2
            cmdCalculatrice_Click (2)
            Text1.Text = ""
        Case 51 '3
            cmdCalculatrice_Click (3)
            Text1.Text = ""
        Case 52 '4
            cmdCalculatrice_Click (4)
            Text1.Text = ""
        Case 53 '5
            cmdCalculatrice_Click (5)
            Text1.Text = ""
        Case 54 '6
            cmdCalculatrice_Click (6)
            Text1.Text = ""
        Case 55 '7
            cmdCalculatrice_Click (7)
            Text1.Text = ""
        Case 56 '8
            cmdCalculatrice_Click (8)
            Text1.Text = ""
        Case 57 '9
            cmdCalculatrice_Click (9)
            Text1.Text = ""
        Case 43 '+
            cmdOperations_Click (0)
            Text1.Text = ""
        Case 45 '-
            cmdOperations_Click (1)
            Text1.Text = ""
        Case 42 '*
            cmdOperations_Click (2)
            Text1.Text = ""
        Case 47 '/
            cmdOperations_Click (3)
            Text1.Text = ""
        Case 13 'enter o(=)
            'empèche le beep
            KeyAscii = 0
            cmdOperations_Click (4)
            Text1.Text = ""
        Case 46 '. (point décimal)
            CmdDecimal_Click
            Text1.Text = ""
        Case 37 '% (pourcentage)
            CmdPourcent_Click
            Text1.Text = ""
        Case 99 Or 67
            CmdNew_Click
        Case 113 Or 81 'q ou Q
            Unload Me
    End Select
End Sub
Private Sub txt_calculatrice_Change()
    Text1.SetFocus
End Sub
'---------------------------------------------------------------------------------vb@visuelsonic.com

Conclusion :


...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_tasoeur
Messages postés
1
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
14 août 2007
-
T'as calculette a un petit problème lorsque tu soustrait par exemple 4 à 4,1, le résultat affiché est de 9,999999e-02, ce qui n'est pas loin de la vérité, mais mathématiquement faux. J'ai le même soucis dans un de mes codes où je cherchais à extraire les décimales une à une d'une variable de type "Double". Est-ce que quelqu'un sait résoudre ce problème.

Merci
cs_DiaKt
Messages postés
20
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
7 janvier 2005
-
mdr je suis sincerement désolé mais au lieu de stocker le premier nombre tapé dans un label tu devrai le stocker dans une variable(bcp plus simple a comprendre lorsqu'on lit ta source) voila j'ai regardé le code rapidement je n'ai pas encore tout vu et j'espere ne pas avoir a rajouter de commentaire comme celui ci allez ++

DiaKt
cs_doudou40
Messages postés
1
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
25 octobre 2003
-
bien fait!!!simple et et efficace
bvo
mutkas10
Messages postés
11
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
30 janvier 2013
-
kool
VicoLaChips2
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1 -
Moi je pense que bill gates va avoir du mouron avec son xp à pointage!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.