|  | Rappel : Ce cours est enseigné dans la  | ||||||||||||||
| 
      On va bien entendu retrouver dans VB les fonctions standard présentes dans quasiment 
      tous les langages. Je passe sur les fonctions mathématiques 
      (trigonométriques ou autres…) pour inventorier rapidement les fonctions 
      plus "algorithmiques": 
      1.1 Traitement des chaînes : 
 
      Et bien d'autres ! Quelques nouveautés à ce propos : 
 
      Ces trois fonctions sont particulièrement utiles dans le traitement des fichiers 
      texte (voir partie 8). 1.2 Fonctions numériques : 
 
      Comment envoyer facilement des informations à l’utilisateur ? La réponse à cette 
      question qui vous taraude se trouve dans les lignes qui suivent. 
      Bien sûr, si vous souhaitez envoyer des messages riches, compliqués et/ou présentés 
      d’une manière originale, la seule solution reste de programmer des Form 
      correspondant à vos souhaits et de passer les instructions VB nécessaires 
      pour qu’elles contiennent les informations voulues. 
      Mais si votre seule ambition, à un moment donné d’une application, est d’envoyer 
      un message à l’utilisateur qui se limite à un texte, ou à un chiffre, ou 
      même à une combinaison des deux, avec comme seuls boutons possibles un 
      bouton OK, Annuler, etc., alors VB met à votre disposition la fonction 
      MsgBox. 
      Vous pourrez ainsi à moindre frais envoyer à l’écran des mini-boîtes de 
      dialogue d’un type bien connu par tous les utilisateurs de Windows, du 
      style :  
      L’originalité de la chose, qui peut quelque peu dérouter au début, est 
      donc que l’on passe par une fonction pour exécuter quelque chose qui 
      ressemble à une instruction Ecrire en algorithmique. Mais, en réalité, le 
      paradoxe n’en est pas un. Car une petite boîte de dialogue comme celle 
      présentée ci-dessus, si elle envoie 
      bel et bien un message à l’utilisateur, 
      récupère également une réponse de cet utilisateur (sur quel 
      bouton a-t-il appuyé). Dès lors, on se dit que quelque chose qui comporte 
      plusieurs paramètres en entrée et une valeur en sortie, a toutes les 
      chances d’être considéré comme une fonction par un langage… CQFD ! 
      La syntaxe de la fonction MsgBox est : 
      Variable = MsgBox (texte1, integer, texte2, ... ) 
      La fonction MsgBox comporte 
      donc trois arguments essentiels, qui sont respectivement :
       
 
      En ce qui concerne les deux arguments de type texte, aucun problème. En revanche, le 
      deuxième argument, de type Integer, mérite qu’on s’y arrête. Cet Entier (Integer) 
      va donc avoir pour rôle de spécifier tout à la fois le type d’icône 
      employée dans la boîte de message, et l’échantillon des boutons proposés à 
      l’utilisateur. Toutefois, cet argument peut être spécifié de 
      deux manières différentes qu’il convient de 
      connaître : 
 
      A titre d’illustration, la boîte de dialogue située au-dessus pourrait être 
      indifféremment programmée par : 
        Texte = "Enregistrer les modifications (...) ?" Titre = "Microsoft FrontPage" Toto = MsgBox ( Texte, 51, Titre ) 
        Ou par :
       
        Texte = "Enregistrer les modifications (...) ?" Titre = "Microsoft FrontPage" Toto = MsgBox (Texte, vbExclamation + vbYesNoCancel, Titre) 
      Tout cela n’épuise pas la question de la valeur renvoyée
      par la fonction MsgBox, valeur qui 
      va donc se retrouver dans la variable Toto. On a vu que cette valeur 
      correspondait au bouton sur lequel l'utilisateur aura appuyé pour clore 
      la boîte de message. 
      On pourra donc tester la valeur de la variable Toto pour déterminer quel était ce 
      bouton (s'il y en avait plus d'un, évidemment…). 
      Là aussi, ce test peut-être écrit soit sous la forme d'une valeur entière, soit sous celle 
      d'une constante VB, les renseignements à ce sujet se trouvant dans l'Aide. En 
      l'occurrence, on pourrait avoir à la suite du code précédent des lignes du 
      genre : 
        If Toto = 6 Then ' enregistrement Elseif Toto = 7 Then ' pas d'enregistrement Else ' annulation EndIf 
      Ou bien : 
        If Toto = VbYes Then ' enregistrement Elseif Toto = VbNo Then ' pas d'enregistrement Else ' annulation EndIf 
      En résumé, MsgBox est une fonction qui vous 
      donne accès à un type de Form préprogrammé, aux fonctionnalités limitées, 
      mais à la programmation très rapide. 
      La seule exception à tout ce qui précède concerne l'utilisation de 
      MsgBox avec toutes les 
      options par défaut : pas d'icônes, juste un bouton OK, et juste un message 
      (pas de titre). La syntaxe peut être alors considérablement simplifiée 
      pour donner : 
        MsgBox Truc 
      …Qui affichera donc la valeur de la variable Truc dans une boîte. Si cette 
      utilisation de MsgBox produit un 
      résultat nettement trop grunge pour figurer dans un produit fini, elle 
      peut parfois s'avérer pratique pour effectuer certains déboguages. 
 |