Comment faire une calculatrice avec Visual Basic

Microsoft Visual Basic est un langage de programmation basé sur le langage BASIC, initialement développé pour rendre la programmation plus facile à apprendre. Visual Basic prend les commandes familières de BASIC et ajoute des outils et interfaces orientées objet pour la conception WYSIWYG comme les applications Windows et les contrôles web, parmi beaucoup d'autres améliorations. Un projet relativement simple d'apprentissage pour Visual Basic est la création d'une calculatrice Windows.

Choses que vous devez

  • Microsoft Visual Basic 6

Instructions

  1. Ouvrez Visual Basic 6, et sélectionnez "EXE standard" dans le menu nouveau projet. Vous verrez un formulaire vierge apparaît sur l'écran.

  2. Renommez votre projet et votre formulaire en cliquant sur "Project1" à la droite de l'écran, dans la liste du projet, et en saisissant un nouveau nom dans la "Nom" ligne de la boîte de propriétés, qui devrait apparaître en dessous de la liste de projets par défaut. Presse "Entrer" pour accepter le nouveau nom. Faites de même pour votre formulaire (un nom de forme suggérée est "CalculatorUI"), En veillant à entrer un nom similaire dans le "Légende" propriété ainsi, ce qui va changer le texte dans la barre en haut du formulaire. Enregistrez le projet dans un nouveau dossier sur votre ordinateur.

  3. Ajouter des boutons et une zone de texte au formulaire. D'abord, ajouter une zone de texte, qui sera le lieu où les numéros saisis dans la calculatrice apparaissent, ainsi que les résultats des calculs. Pour ce faire, en sélectionnant le bouton de texte à partir de la barre d'outils sur le côté gauche de l'écran, puis en faisant glisser avec votre souris de la taille et de l'emplacement que vous désirez pour la zone de texte. Une fois que vous avez placé la zone de texte, vous pouvez modifier la taille et l'emplacement en le faisant glisser vers un autre emplacement de la forme ou en faisant glisser les poignées (petits carrés) le long de la frontière de la zone de texte. Veillez à modifier les lignes suivantes dans la fenêtre Propriétés, avec la zone de texte sélectionné: "(Nom)" = TbResult, "Alignement" = 1- Justifier à droite, "Format de données" = (Cliquez sur le "..." bouton pour sélectionner) Nombre, "Fermé" = True, et "Texte" = 0.

  4. Sélectionnez l'icône de commande sur la barre d'outils et de créer le premier bouton de la même manière que vous avez créé la zone de texte pour ajouter des boutons. Pour référence, utilisez la calculatrice de Windows en mode standard (Programmes gt; Accessoires gt; Calculatrice) comme base de votre modèle de calculatrice, laissant de côté le "MC", "M", "MLLE"Et "M +" boutons. Sur chaque bouton, modifier les propriétés suivantes (en utilisant le "+" Bouton à titre d'exemple): "(Nom)" = BtnPlus, "Légende" = +. Faites de même pour le reste des boutons de la calculatrice, puis enregistrez votre travail. Votre forme devrait maintenant ressembler à l'exemple montré ici.

  5. Ajoutez le code. Notez que si vos boutons et zone de texte ne sont pas le même nom que le code ci attend ici, vous aurez besoin de changer les noms pour correspondre à vos boutons et zone de texte, ou modifier vos boutons et zone de texte pour correspondre à ce code. Premièrement, nous devons créer quelques variables pour l'entrée de la calculatrice de traitement:

    Dim sLeft As String, sRight As String, sOperator As String
    Dim iLeft As Double, iRight As Double, iResult As Double
    Dim bLeft As Boolean

    Chaque calcul se compose de quatre parties: un numéro à la gauche de l'opérateur (sLeft, iLeft), un opérateur (sOperator), un numéro à la droite de l'opérateur (sRight, iRight), et un résultat (iResult). Afin de suivre si l'utilisateur entre dans le nombre gauche ou à droite, nous devons créer une variable booléenne, bLeft. Si bLeft est vrai, le côté gauche du calcul est entered- si bLeft est fausse, le côté droit est entré.

  6. Initialiser la variable bLeft. Nous faisons cela en créant un sous-programme Form_Load, que vous pouvez soit le type comme indiqué ici ou créer automatiquement en double-cliquant sur une partie quelconque de la forme ne sont pas couverts par un bouton ou zone de texte. Dans la fonction, nous avons besoin de mettre en bLeft True, parce que le premier numéro entré sera la partie gauche:

    Private Sub Form_Load ()

    bLeft = True

    End Sub

  7. Créez un sous-programme qui va gérer le cliquetis de l'une des touches numériques. Nous créons cela comme un sous-programme parce que nous utilisons code identique pour chaque bouton, et en utilisant un sous-programme signifie ne pas avoir à répéter le même code dix fois. Entrez ci-dessous le texte suivant Fin de la ligne de sous de la sous-routine Form_Load:

    Private Sub AddNumber (sNumber As String)

    Si bLeft Puis
    sLeft = sLeft + sNumber
    tbResult.Text = sLeft
    Autre
    sRight = sRight + sNumber
    tbResult.Text = sRight
    End If

    End Sub

    Comme vous pouvez le voir, cette fonction prend un paramètre de chaîne, sNumber, qui contiendra le numéro que l'utilisateur a cliqué sur. Si bLeft est vrai, ce nombre est ajouté à la chaîne qui représente le nombre étant entré, sLeft, et la zone de texte, tbResult, est mis à jour pour afficher le nouveau numéro. Si bLeft est fausse, la même opération est effectuée en utilisant sRight place.

    Enfin, créer une fonction d'événements Click pour chaque numéro qui appelle notre routine AddNumber. Vous pouvez le faire facilement en double-cliquant sur chaque touche numérique, qui permettra de créer la structure de sous-programme pour vous. Puis ajouter l'appel à AddNumber, remplaçant le numéro de guillemets avec le numéro associé à la touche. Pour la touche zéro, votre code ressemblera à ceci:

    Private Sub btn0_Click ()

    AddNumber ("0")

    End Sub

    De même, pour le bouton ci, votre code ressemblera à ceci:

    Private Sub btn1_Click ()

    AddNumber ("1")

    End Sub

  8. Manipulez les opérateurs: plus, moins, fois, et diviser. Nous le ferons comme la dernière étape, la création d'un sous-programme qui est appelé dans les événements Click pour les boutons de commande. Le sous-programme ressemblera à ce qui suit:




    Private Sub AddOperator (sNewOperator As String)

    Si bLeft Puis
    sOperator = sNewOperator
    bLeft = False
    Autre
    btnEquals_Click
    sOperator = sNewOperator
    sRight = ""
    bLeft = False
    End If

    End Sub

    Si bLeft est vrai, ce qui signifie que l'utilisateur vient d'entrer dans la partie gauche du calcul, ce sous-programme définit la variable d'sOperator nous avons créé à l'étape 5 à égaler l'opérateur est entré, qui est passé à AddOperator que la chaîne sNewOperator. La deuxième étape consiste à mettre bLeft False, car l'entrée d'un opérateur signifie que l'utilisateur est terminé de saisir le côté gauche de l'équation. Afin de gérer les entrées que chaîne de multiples opérateurs ensemble, comme 9 3 2 * 6, nous avons besoin de vérifier également si bLeft est faux, ce qui signifie que l'utilisateur a entré un exploitant où nous nous attendions à un signe égal. D'abord, nous appelons l'événement Click pour le bouton equals (décrit dans la prochaine étape), qui fait le calcul et définit tbResult le résultat de ce qui a déjà été saisi. Ensuite, nous sRight clair afin que l'utilisateur peut entrer le numéro suivant, et définir bLeft False sorte que le programme sait que nous entrons dans la partie droite du calcul suivant.

    Enfin, ajoutez un appel de AddOperator à l'événement Click de chaque bouton de l'opérateur, en utilisant la même méthode que nous avons utilisé dans l'étape 7 pour créer les événements Click pour les touches numériques. Votre code pour la touche plus ressemblera à ceci:

    Private Sub btnPlus_Click ()

    AddOperator ("+")

    End Sub

    De même, le code de la touche moins ressemblera à ceci:

    Private Sub btnMinus_Click ()

    AddOperator ("-")

    End Sub

  9. Créer l'événement Click pour le bouton égaux, qui est le code le plus complexe dans ce programme. Créez la structure de sous-routine comme vous avez fait pour les autres boutons, en double-cliquant sur le bouton égaux sur votre formulaire. Votre sous-programme ressemblera à ceci lorsque vous avez entré le code:

    Private Sub btnEquals_Click ()

    Si sLeft lt; gt; "" Et sRight = "" Et sOperator lt; gt; "" Puis
    sRight = sLeft
    End If

    Si sLeft lt; gt; "" Et sRight lt; gt; "" Et sOperator lt; gt; "" Puis
    iLeft = sLeft
    iRight = sRight

    Select Case sOperator
    Cas "+"
    iResult = iLeft + iRight
    Cas "-"
    iResult = iLeft - iRight
    Cas "/"
    iResult = iLeft / iRight
    Cas "*"
    iResult = iLeft * iRight
    End Select

    tbResult.Text = iResult

    sLeft = iResult
    sRight = ""
    bLeft = True
    End If

    End Sub

    Les trois premières lignes de vérification de code pour voir si les deux côtés du calcul ont été entrées avec un opérateur. Si seul le côté gauche et un opérateur sont entrés, la valeur du côté gauche est copié vers la droite, de sorte que nous pouvons imiter le comportement de calculatrice standard pour manipuler une entrée comme 9 * =, qui multiplie 9 par lui-même pour obtenir un résultat de 81. Le reste du code ne fonctionnera que si gauche, à droite, et l'opérateur sont entrés, et commence par copier les chaînes de chiffres dans nos variables iLeft et iRight Double-typés, qui peut faire les calculs réels. L'instruction Select Case nous permet d'exécuter un code différent en fonction de l'opérateur qui a été conclu, et effectue le calcul réel, plaçant le résultat dans iResult. Enfin, nous mettons à jour la zone de texte avec le résultat, copions le résultat dans sLeft, réinitialisons sRight, et mis bLeft = True. Ces dernières lignes nous permettent de prendre le résultat du calcul et de l'utiliser pour effectuer un autre calcul.

  10. Manipulez les trois dernières touches de fonctionnement: sqrt,%, et 1 / x. Pour l'événement Click du bouton de racine carrée, votre code ressemblera à ceci:

    Private Sub btnSqrt_Click ()

    Si sLeft lt; gt; "" Puis
    iLeft = sLeft
    Autre
    iLeft = 0
    End If

    Si sRight lt; gt; "" Puis
    iRight = sRight
    Autre
    iRight = 0
    End If

    Si bLeft Puis
    iLeft = Math.Sqr (iLeft)
    tbResult.Text = iLeft
    Autre
    iRight = Math.Sqr (iLeft)
    tbResult.Text = iRight
    End If




    Si iLeft lt; gt; 0 Then
    sLeft = iLeft
    Autre
    sLeft = ""
    End If

    Si iRight lt; gt; 0 Then
    sRight = iRight
    Autre
    sRight = ""
    End If

    End Sub

    Les 11 premières lignes de code assurez-vous que si nous ne disposons pas d'une valeur entrée pour chaque côté de l'équation, nous substituer zéro au lieu d'essayer de copier une chaîne vide dans iLeft ou iRight, qui va générer une erreur. Les lignes du milieu remplissent la fonction de la racine carrée de la part actuelle du calcul, soit à gauche ou à droite. Enfin, nous renversons les vérifications que nous avons fait en sorte que le début d'un zéro est copié comme une chaîne vide dans sLeft et sRight.

    Pour le bouton de pour cent, le code est similaire, à une exception près: l'opération de pour cent ne peut être effectuée si les deux côtés gauche et droit sont entrés.

    Private Sub btnPercent_Click ()

    Si Non bLeft Puis
    Si sRight lt; gt; "" Puis
    iRight = sRight
    Autre
    iRight = 0
    End If

    iRight = iRight * (iLeft / 100)
    tbResult.Text = iRight

    Si iRight lt; gt; 0 Then
    sRight = iRight
    Autre
    sRight = ""
    End If
    End If

    End Sub

    Enfin, le 1 / x, ou fraction, Cliquez événement, qui est très similaire au code ci-dessus:

    Private Sub btnFraction_Click ()

    Si sLeft lt; gt; "" Puis
    iLeft = sLeft
    Autre
    iLeft = 0
    End If

    Si sRight lt; gt; "" Puis
    iRight = sRight
    Autre
    iRight = 0
    End If

    Si bLeft Puis
    iLeft = 1 / iLeft
    tbResult.Text = iLeft
    Autre
    iRight = 1 / iRight
    tbResult.Text = iRight
    End If

    Si iLeft lt; gt; 0 Then
    sLeft = iLeft
    Autre
    sLeft = ""
    End If

    Si iRight lt; gt; 0 Then
    sRight = iRight
    Autre
    sRight = ""
    End If

    End Sub

  11. Ajouter du code pour gérer les boutons C et CE. C efface toutes les entrées à la calculatrice, alors que la CE ne supprime que le nombre actuellement entré.

    Private Sub btnC_Click ()

    sLeft = ""
    sRight = ""
    sOperator = ""
    tbResult.Text = "0"
    bLeft = True

    End Sub

    Private Sub btnCE_Click ()

    Si bLeft Puis
    sLeft = ""
    Autre
    sRight = ""
    End If
    tbResult.Text = "0"

    End Sub

  12. Exécutez votre programme de calculatrice et faire tout calcul vous le souhaitez. Cette calculatrice peut être facilement étendu pour gérer plusieurs opérations, des calculs plus complexes ou même d'être une calculatrice scientifique avec un peu de travail supplémentaire.

Conseils & Avertissements

  • Si vous rencontrez des erreurs, vérifiez votre code ligne par ligne, en se concentrant sur les lignes que VB a appelés comme contenant des erreurs, et de le comparer au code ci-dessus. Le code contenu dans cet article a été entièrement testé pour être exempt d'erreurs, de sorte que le copier fidèlement entraîner une program.If fonctionnelle vous utilisez une version antérieure de Visual Basic, vous pouvez rencontrer certains problèmes où des changements ont été faits dans la langue entre les versions. Les versions précédentes de VB, par exemple, utilisés Math.sqrt () au lieu de Math.Sqr () pour effectuer une opération de racine carrée. Vérifiez les références pour votre version spécifique pour voir si des changements sont nécessaires.
» » » » Comment faire une calculatrice avec Visual Basic