Ouvrez Visual Basic 6, et sélectionnez "EXE standard" dans le menu nouveau projet. Vous verrez un formulaire vierge apparaît sur l'écran.
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.
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.
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.
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é.
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
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
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
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 IfSi 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.
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 IfSi 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 IfiRight = 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 IfSi 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
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
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.