I.T.A.G (DTS1)

Ce forum incha allah aura pour but d aider les etudiant de la DTS1 a en plus savoir cotee cours et tt que sa soit reseau ou devlopment
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Une drôle de bÊte : la fonction MsgBox

Aller en bas 
AuteurMessage
ultrasur
moderateur
moderateur
avatar

Messages : 200
Date d'inscription : 11/02/2008
Age : 31

MessageSujet: Une drôle de bÊte : la fonction MsgBox   Mer 13 Fév - 8:05

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 :
le texte du message à envoyer
le style des boutons et de l’icône éventuelle à faire figurer sur le message
le texte de la barre de titre
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 :
Chaque possibilité d’icône ou de boutons est associée à un nombre entier (voir l’Aide du logiciel). Pour obtenir la combinaison voulue, il suffit d’additionner les nombres correspondants, et c’est cette somme qui sera le deuxième argument.
l'autre façon de spécifier cet argument consiste à employer des Constantes VB. Ces Constantes VB sont des mots réservés du langage, qui sont traduits par le compilateur en nombre entiers. Du point de vue du résultat, cette solution est donc strictement équivalente à la précédente, où on entrait directement des nombres. En revanche, certains programmeurs la préféreront en raison de la plus grande lisibilité qu’elle introduit dans le code. A noter que Ces Constantes VB ne s’inventent pas ! Elles figurent dans l’Aide du logiciel, et c’est là qu’il faut les chercher (elles apparaissent toutefois sous forme de liste déroulante lorsqu'on entre le code dans l'éditeur. Avec un tout petit peu d'habitude, le choix en est grandement facilité…
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.


Nom de l'exercice Exécutable Sources
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.realmadridclub.net
 
Une drôle de bÊte : la fonction MsgBox
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
I.T.A.G (DTS1) :: Cours de Réseaux et Development :: Devlopment :: cours-
Sauter vers: