|
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.
|