Ouvrez Visual Basic 6 et sélectionnez " EXE standard " dans le menu du nouveau projet. Vous verrez un formulaire vierge apparaître à l'écran.
Renommez votre projet et votre formulaire en cliquant sur "Projet1" à droite de l'écran, dans la liste des projets, et en saisissant un nouveau nom dans la ligne « Nom » de la boîte de propriétés, qui devrait apparaître sous la liste du projet par défaut. Appuyez sur "Entrée" pour accepter le nouveau nom. Faites de même pour votre formulaire (un nom de formulaire suggéré est "CalculatorUI"), en veillant à entrer un nom similaire dans la propriété "Caption", ce qui modifiera le texte dans la barre supérieure du formulaire. Enregistrez le projet dans un nouveau dossier sur votre ordinateur.
Ajoutez des boutons et une zone de texte au formulaire. Tout d'abord, ajoutez une zone de texte, qui sera l'endroit où apparaîtront les nombres entrés dans la calculatrice, ainsi que les résultats des calculs. Pour ce faire, sélectionnez le bouton TextBox dans la barre d'outils sur le côté gauche de l'écran, puis faites glisser avec votre souris la taille et l'emplacement que vous désirez pour la TextBox. Une fois que vous avez placé la zone de texte, vous pouvez modifier la taille et l'emplacement en la faisant glisser vers un autre emplacement du formulaire ou en faisant glisser les poignées (les petits carrés) le long de la bordure de la zone de texte. Assurez-vous de modifier les lignes suivantes dans la fenêtre Propriétés, avec la zone de texte sélectionnée: "(Nom)" = tbResult, "Alignement" = 1- Justifier à droite, "Format des données" = (cliquez sur le bouton "..." pour sélectionner) Nombre, "Verrouillé" = Vrai, et "Texte" = 0.
Sélectionnez l'icône CommandButton dans la barre d'outils et créez 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 Windows dans la vue standard (Programmes > Accessoires > Calculatrice) comme base pour la disposition de votre calculatrice, en laissant de côté les boutons « MC », « MR », « MS » et « M+ ». Sur chaque bouton, modifiez les propriétés suivantes (en utilisant le bouton "+" comme exemple): "(Name)" = btnPlus, "Caption" = +. Faites de même pour le reste des boutons de la calculatrice, puis enregistrez votre travail. Votre formulaire doit maintenant ressembler à l'exemple montré ici.
Ajoutez le code. Notez que si vos boutons et votre zone de texte ne portent pas le même nom que le code répertorié ici, vous aurez besoin pour changer les noms pour qu'ils correspondent à vos boutons et à votre zone de texte, ou modifiez vos boutons et votre zone de texte pour qu'ils correspondent code. Nous devons d'abord créer quelques variables pour le traitement des entrées de la calculatrice :
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 nombre à gauche de l'opérateur (sLeft, iLeft), un opérateur (sOperator), un nombre à droite de l'opérateur (sRight, iRight) et un résultat (iResult). Afin de savoir si l'utilisateur saisit le nombre de gauche ou de droite, nous devons créer une variable booléenne, bLeft. Si bLeft est vrai, le côté gauche du calcul est entré; si bLeft est faux, le côté droit est entré.
Initialisez la variable bLeft. Pour ce faire, nous créons un sous-programme Form_Load, que vous pouvez saisir comme indiqué ici ou créer automatiquement en double-cliquant sur n'importe quelle partie du formulaire non couverte par un bouton ou une zone de texte. À l'intérieur de la fonction, nous devons définir bLeft sur True, car le premier nombre entré sera la partie gauche :
Créez un sous-programme qui gérera le clic sur l'un des boutons numériques. Nous le créons en tant que sous-programme car nous utilisons un code identique pour chaque bouton, et utiliser un sous-programme signifie ne pas avoir à répéter le même code dix fois. Entrez ce qui suit sous la ligne End Sub de la sous-routine Form_Load :
Comme vous pouvez le voir, cette fonction prend un paramètre de chaîne, sNumber, qui contiendra le numéro sur lequel l'utilisateur a cliqué. Si bLeft est vrai, ce nombre est ajouté à la chaîne qui représente le nombre entré, sLeft, et la zone de texte, tbResult, est mise à jour pour afficher le nouveau nombre. Si bLeft est faux, la même opération est effectuée en utilisant sRight à la place.
Enfin, créez une fonction d'événement Click pour chaque numéro qui appelle notre sous-routine AddNumber. Vous pouvez le faire facilement en double-cliquant sur chaque bouton numérique, ce qui créera la structure du sous-programme pour vous. Ajoutez ensuite l'appel à AddNumber, en remplaçant le numéro entre guillemets par le numéro associé au bouton. Pour le bouton zéro, votre code ressemblera à ceci :
De même, pour le seul bouton, votre code ressemblera à ceci :
Manipulez les opérateurs: plus, moins, fois et diviser. Nous allons faire cela comme la dernière étape, en créant un sous-programme qui est appelé dans les événements Click pour les boutons d'opérateur. Le sous-programme ressemblera à ceci :
Si bLeft est vrai, c'est-à-dire que l'utilisateur vient de saisir la partie gauche du calcul, ce sous-programme définit le sOperator variable que nous avons créée à l'étape 5 pour égaler l'opérateur entré, qui est transmis à AddOperator en tant que chaîne sNewOperator. La deuxième étape consiste à définir bLeft sur False, car la saisie d'un opérateur signifie que l'utilisateur a fini de saisir le côté gauche de l'équation. Afin de gérer les entrées qui enchaînent plusieurs opérateurs ensemble, tels que 9 * 3 * 2 * 6, nous devons vérifiez également si bLeft est faux, ce qui signifie que l'utilisateur a entré un opérateur où nous attendions un équivaut à. Nous appelons d'abord l'événement Click pour le bouton égal (décrit à l'étape suivante), qui effectue le calcul et définit tbResult sur le résultat de ce qui a déjà été entré. Ensuite, nous effaçons sRight pour que l'utilisateur puisse saisir le nombre suivant, et définissons bLeft sur False afin que le programme sache que nous entrons ensuite dans le côté droit du calcul.
Enfin, ajoutez un appel AddOperator à l'événement Click de chaque bouton opérateur, en utilisant la même méthode que celle utilisée à l'étape 7 pour créer les événements Click pour les boutons numériques. Votre code pour le bouton plus ressemblera à ceci :
Créez l'événement Click pour le bouton égal, qui est le code le plus complexe de ce programme. Créez la structure du sous-programme comme vous l'avez fait pour les autres boutons, en double-cliquant sur le bouton égal à sur votre formulaire. Votre sous-programme ressemblera à ceci lorsque vous aurez entré le code :
Les trois premières lignes de code vérifient si les deux côtés du calcul ont été entrés avec un opérateur. Si seulement le côté gauche et un opérateur sont entrés, la valeur du côté gauche est copiée vers la droite, donc nous pouvons imiter le comportement standard de la calculatrice pour gérer une entrée comme 9 * =, qui multiplie 9 par elle-même pour obtenir un résultat de 81. Le reste du code ne s'exécutera que si gauche, droite et opérateur sont entrés, et commence par copier les chaînes de nombres dans nos variables double-typées iLeft et iRight, qui peuvent faire le vrai calculs. L'instruction Select Case nous permet d'exécuter un code différent en fonction de l'opérateur entré et effectue le calcul réel, en 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 définissons bLeft = True. Ces dernières lignes nous permettent de prendre le résultat du calcul et de l'utiliser pour effectuer un autre calcul.
Gérez les trois derniers boutons de commande: sqrt, % et 1/x. Pour l'événement Click du bouton racine carrée, votre code ressemblera à ceci :
Les 11 premières lignes de code s'assurent que si nous n'avons pas de valeur entrée pour chaque côté de l'équation, nous substituons zéro au lieu d'essayer de copier une chaîne vide dans iLeft ou iRight, ce qui générera un Erreur. Les lignes médianes exécutent la fonction de racine carrée sur la partie actuelle du calcul, à gauche ou à droite. Enfin, nous inversons les vérifications que nous avons effectuées au début afin qu'un zéro soit copié en tant que chaîne vide dans sLeft et sRight.
Pour le bouton pourcentage, le code est similaire, à une exception près: l'opération pourcentage ne peut être effectuée que si les deux côtés gauche et droit sont saisis.
Enfin, l'événement Click 1/x, ou fraction, qui est très similaire au code ci-dessus :
Ajoutez du code pour gérer les boutons C et CE. C efface toutes les entrées de la calculatrice, tandis que CE n'efface que le nombre en cours de saisie.
Exécutez votre programme de calculatrice et effectuez le calcul que vous souhaitez. Cette calculatrice peut être facilement étendue pour gérer plus d'opérations, des calculs plus complexes ou même être une calculatrice scientifique avec un peu de travail supplémentaire.
Pointe
Si vous rencontrez des erreurs, vérifiez votre code ligne par ligne, en vous concentrant sur les lignes que VB a appelées comme contenant des erreurs, et comparez-le au code ci-dessus. Le code contenu dans cet article a été entièrement testé pour être exempt d'erreurs, donc le copier fidèlement se traduira par un programme fonctionnel. Si vous utilisez une version précédente de Visual Basic, vous pouvez rencontrer des problèmes lorsque des modifications ont été apportées à la langue d'une version à l'autre. Les versions précédentes de VB, par exemple, utilisaient Math. Sqrt() au lieu de Math. Sqr() pour effectuer une opération de racine carrée. Vérifiez les références de votre version spécifique pour voir si des modifications sont nécessaires.