BR VB Concepts

download BR VB Concepts

of 91

Transcript of BR VB Concepts

  • 8/18/2019 BR VB Concepts

    1/91

    B.ROCHE / IIRIAM 10/00 Page 1 / 92 BR_VB_concepts.doc

    V I S U A L B A S I CL E S C O N C E P T S F O N D A M E N T A U X

    INTRODUCTI ON _______________________________________________________________ 4 

    I- Présentation ___________________________________________________________________ 4

    II- Les versions de Visual Basic ______________________________________________________ 4

    III- Les concurrents de Visual Basic___________________________________________________ 5

    IV- généralités sur le langage ________________________________________________________ 5

    Le projet_______________________________________________________________________ 9 

    I- Présentation_____________________________________________________________________ 9II- Notion de module_________________________________________________________________ 9

    III- Méthode de programmation_______________________________________________________ 11

    L 'éditeur Visual Basic___________________________________________________________ 13 

    I- Utilisation de l'éditeur____________________________________________________________ 13

    II- Principes d'écriture______________________________________________________________ 14

    Les éléments du l angage_________________________________________________________ 16 

    I- Les variables ___________________________________________________________________ 16

    II- Types utilisateurs _______________________________________________________________ 18

    III- Les tableaux__________________________________________________________________ 18

    IV- Structures algorithmiques_______________________________________________________ 19

    V- Les opérateurs__________________________________________________________________ 21

    VI- Les procédures _______________________________________________________________ 22

    VII- Les fonctions prédéfinies________________________________________________________ 26

    Notions d'objets________________________________________________________________ 29 

    I- Définition d'objet________________________________________________________________ 29

    II- Convention d'écriture des objets ___________________________________________________ 29

    III- Les Classes d'objets ___________________________________________________________ 30

    IV- Les propriétés d'un objet _______________________________________________________ 30

    V- Les méthodes d'un objet__________________________________________________________ 36

    VI- Evénements et procédures d'événement ___________________________________________ 37

    Les objets propres àun projet_____________________________________________________ 38 

    I- L'objet App ____________________________________________________________________ 38

    Les Feuil les Vi sual Basic ________________________________________________________ 41 I- Présentation____________________________________________________________________ 41

  • 8/18/2019 BR VB Concepts

    2/91

    B.ROCHE / IIRIAM 10/00 Page 2 / 92 BR_VB_concepts.doc

    II- Méthodes et événements d'une feuille _______________________________________________ 42

    III- Les Boîtes de dialogue__________________________________________________________ 44

    Les contrôles __________________________________________________________________ 49 

    I- les contrôles standards ___________________________________________________________ 49

    II- Les contrôles de listes et fichiers ___________________________________________________ 56

    le Gl isser - Déplacer (Drag and drop) ______________________________________________ 59 

    I- principe _______________________________________________________________________ 59

    II- Propriétés, événements, méthodes __________________________________________________ 59

    L 'accès aux données : le contrôle Data _____________________________________________ 62 

    I- Introduction____________________________________________________________________ 62

    II- Le contrôle Data ________________________________________________________________ 62

    III- Les contrôles dépendants _______________________________________________________ 64

    IV- Les contrôles dépendants spécifiques______________________________________________ 66

    L 'accès aux données : les f ichi ers _________________________________________________ 73 

    I- Introduction____________________________________________________________________ 73

    II- Fonctions relatives aux fichiers_____________________________________________________ 73

    III- Les fichiers séquentiels _________________________________________________________ 74

    IV- Les fichiers aléatoires __________________________________________________________ 76

    V- Les fichiers binaires _____________________________________________________________ 77

    Les appli cations MDI ___________________________________________________________ 78 

    I- Présentation____________________________________________________________________ 78

    II- Création d'une feuille MDI________________________________________________________ 79

    III- Organisation des feuilles-enfants _________________________________________________ 79

    La gestion des erreur s___________________________________________________________ 80 

    I- Introduction____________________________________________________________________ 80

    II- Intercepteur d'erreur ____________________________________________________________ 80

    III- Ecriture d'une routine de gestion d'erreur _________________________________________ 81

    IV- Sortie d'une routine de gestion d'erreur ___________________________________________ 81

    V- Erreurs inattendues______________________________________________________________ 82

    Le débogage___________________________________________________________________ 85 

    I- Introduction____________________________________________________________________ 85

    II- Types d'erreurs _________________________________________________________________ 85

    III- Aide fournie par les outils de débogage ____________________________________________ 86

    IV- La fenêtre de débogage _________________________________________________________ 88

    Les menus ____________________________________________________________________ 90 

    I- Présentation____________________________________________________________________ 90

    II- Conception_____________________________________________________________________ 91

  • 8/18/2019 BR VB Concepts

    3/91

    B.ROCHE / IIRIAM 10/00 Page 3 / 92 BR_VB_concepts.doc

    III- Conventions d'affectation des noms de menus_______________________________________ 92

  • 8/18/2019 BR VB Concepts

    4/91

    B.ROCHE / IIRIAM 10/00 Page 4 / 92 BR_VB_concepts.doc

    INTRODUCTION

    I- PRESENTATION

    Visual Basic de Microsoft est à la fois un langage et un atelier de développement.

    On retrouve le langage dans chaque produit de la gamme Office : Word, Excel, Access. Dans lesversions antérieiures à office 97, on le trouvait sous le nom de VBA (Visual Basic for Application)L’environnement de développement Visual Basic permet de créer des applications en modegraphique (GUI, Graphical User Interface) pour toutes les versions de Windows (3.x, 95, NT).

    C'est donc un langage de haut niveau, simple à mettre en œuvre, contrairement aux langages Cet C++. En effet, Visual Basic se charge de faire appel et de passer les paramètres aux API(fonctions de base) de Windows.

    Que l'on ait l'intention de créer un petit utilitaire ou une application pour une entreprise ou mêmedes applications partagées internationales sur Internet, Visual Basic met à disposition tous lesoutils nécessaires :

    Ô  Les fonctions d'accès aux données, qui permettent de créer des bases de données et desapplications pour les formats de base de données les plus utilisés (Microsoft ou autres),

    Ô  La technologie ActiveX™ qui permet d'utiliser les fonctionnalités offertes par d'autresapplications, telles que le traitement de texte, le tableur et autres applications Windows,

    Ô  Les fonctionnalités Internet facilitent l'accès à des documents et à des applications sur Internetdepuis l'application.

    Visual Basic permet de créer un pseudo-code exécutable, c'est à dire que l'application finale estun véritable fichier .exe qui utilise à l'exécution une bibliothèque de liaisons dynamiques (DLL,Dynamic-Link Library ) qui sont libres de diffusion.

    Les applications développées avec Visual basic peuvent donc être distribuées librement.

    Visual Basic répond certainement à la grande majorité des besoins de développementnotamment en informatique de gestion.Il n’offre cependant pas le degré de finesse et de souplesse nécessaire à la production de

    logiciels universels comme Word ou Excel. Ce domaine reste du ressort du langage C++.

    II- LES VERSIONS DE VISUAL BASIC

    C'est seulement à partir de la version 3.0 que Visual Basic permet d'accéder aux bases dedonnées. C'est à partir de ce moment que Visual Basic a connu un réel succès.

    La version 4 intègre également les nouvelles versions du moteur de base de données JET (2.5en 16 bits et 3.0 en 32 bits) permettant la gestion de l'intégrité référentielle, et les mises à jour encascade.

    Visual Basic est disponible en trois versions :

  • 8/18/2019 BR VB Concepts

    5/91

    B.ROCHE / IIRIAM 10/00 Page 5 / 92 BR_VB_concepts.doc

    Ô   L'édition Initiation permet aux programmeurs de créer facilement de puissantes applicationspour Microsoft Windows 95 et Windows NT. Elle comprend tous les contrôles intrinsèquesainsi que les contrôles Grid, Tab et les contrôles dépendants.

    Ô  L'édition Professionnelle offre une gamme d'outils aux fonctionnalités complètes permettant dedévelopper des solutions autonomes. Elle comprend toutes les fonctionnalités de l'ÉditionInitiation ainsi que des contrôles ActiveX supplémentaires, notamment les contrôles Internet, etle module Crystal Reports.

    Ô  L'édition Entreprise permet de créer des applications partagées fiables au sein d'une équipe.Elle comprend toutes les fonctionnalités de l'Édition Professionnelle, ainsi que le module Automation Manager, le Gestionnaire de composants, des outils de gestion de base dedonnées, le système de contrôle de version orienté projet Microsoft Visual SourceSafe, et bienplus encore.

    III- LES CONCURRENTS DE VISUAL BASIC

    Visual Basic connaît de nombreux concurrents, nous n'en citerons que quelques uns :

    Ü  AccessÜ  DelphiÜ  Powerbuilder Ü  WindevÜ  Oracle / Developper 2000

    IV- GENERALITES SUR LE LANGAGE

    1. UN LANGAGE ORIENTE OBJETS

    VB est un langage orienté objet.Les feuilles et contrôles sont des objets, tout comme les bases de données et beaucoupd'autres choses. En fait on utilise en permanence des objets en VB. il est même facile de créer ses propres objets à partir des classes que l'on définit, et d'utiliser des objets pour simplifier lecode et augmenter le taux de réutilisation du code.

    2. UNE PROGRAMMATION EVENEMENTIELLE

    VB est un langage de programmation événementielle, c'est à dire que ce sont les actions desutilisateurs sur les objets apparaissant à l'écran qui déclenchent l'exécution de procédures.L'enchaînement des procédures n'est pas prédéfini à l'avance comme dans un langage deprogrammation procédural. On peut donc dire que c'est l'utilisateur qui pilote l'application commebon lui semble et non comme le programmeur l'a écrit dans une programmation classique.

    3. UNE PROGRAMMATION GUIDEE ET ASSISTEE

    VB permet de faire une partie de la programmation d'une application sans écrire de code. Eneffet, l'utilisation de la souris et des icônes va grandement simplifier la programmation.

  • 8/18/2019 BR VB Concepts

    6/91

  • 8/18/2019 BR VB Concepts

    7/91

    B.ROCHE / IIRIAM 10/00 Page 7 / 92 BR_VB_concepts.doc

    Il est composé des parties suivantes :

    Ô  La barre de menusElle est composée d'un menu et d'icônes, permettant de mettre en œuvre les principalesfonctionnalités de VB.

    Ô  La boîte à outilsElle contient les outils que l'on peut utiliser pour dessiner des contrôles sur les feuilles. Chacunde ces outils représente un contrôle.

    Ô  L'éditeur de feuilles

    Représente une feuille de travail, c'est à dire l'interface homme/machine. C'est par le biais defeuilles que vont s'effectuer les entrées/sorties. Sous access, on les appelle les formulaires.

    Ô  La fenêtre de projetElle recense tous les composants d'un projet

    Ô  La fenêtre des propriétésElle recense toutes les propriétés relatives à l'objet sélectionné (feuille, contrôle,...). Onremarquera que la signification de la propriété sélectionnée apparaît automatiquement en bas decette fenêtre.

    Ô  La fenêtre présentation des feuilles :Elle indique la position de la feuille courante quand elle apparaîtra à l'écran en mode application.Cette fonctionnalité n'a d'importance que lorsque la fenêtre ne doit pas apparaître en plein écran.

  • 8/18/2019 BR VB Concepts

    8/91

    B.ROCHE / IIRIAM 10/00 Page 8 / 92 BR_VB_concepts.doc

    On pourra également faire apparaître d'autres fenêtres, comme la fenêtre de palette de couleursou la fenêtre de débogage. On verra ces fenêtres ultérieurement dans le cours.

    Toutes ces fenêtres peuvent être simultanément ouvertes.

  • 8/18/2019 BR VB Concepts

    9/91

    B.ROCHE / IIRIAM 10/00 Page 9 / 92 BR_VB_concepts.doc

    LE PROJET

    I- PRESENTATION

    *  Toute application Visual basic est appelée pro je t .Plusieurs fichiers seront créés pour chaque projet, à savoir :

    Ô  un fichier de projet qui répertorie tous les composants (.VBP)Il est obligatoire, et sert à mémoriser la liste de tous les fichiers nécessaires au projet, ainsique les options d'environnement du projet. C'est un fichier texte dont on peut afficher lecontenu.

    Ô   Un ou plusieurs fichiers contenant des contrôles ActiveX. Ces contrôles étaient auparavantappelés contrôles OLE ou contrôles personnalisés. Les éditions professionnelles et

    entreprises contiennent un grand nombre de contrôles ActiveX et offrent aussi la possibilité decréer ses propres contrôles. D'autres contrôles ActiveX destinés à de multiples usages sontdisponibles auprès de nombreux fournisseurs.

    Ô un fichier en données binaires pour chaque feuille contrôlant les propriétés ayant des donnéesbinaires comme valeurs (.FRX)

    Ô   un fichier de ressources unique (.RES)

    Ô   Des fichiers modules (.FRM, .BAS ou .CLS)

    II- NOTION DE MODULE

    Dans Visual Basic, le code est stocké dans des modules. Il existe trois types de modules :Ô  module de feuille,Ô  module standard,Ô  module de classe.

    Chaque module de feuille, standard et de classe peut contenir les éléments suivants :

    å  Des déclarations : on peut inclure des déclarations de constantes, de types, de variables et de

    procédures de bibliothèque de liaison dynamique (DLL) de niveau module pour les modules defeuille, de classe ou standard.å Des procédures : de type Sub, Function ou Property qui contiennent des morceaux de code quipeuvent être exécutés en bloc et plusieurs fois dans l'application.

    1. MODULES DE FEUILLE

    Les modules de feuille (dont le nom de fichier possède l'extension .FRM) sont le fondement de laplupart des applications VB. Ils peuvent contenir des procédures qui gèrent :å  des événements,å  des procédures générales,

    å  des déclarations de niveau feuille de variables, de constantes, de types et de procéduresexternes.

  • 8/18/2019 BR VB Concepts

    10/91

    B.ROCHE / IIRIAM 10/00 Page 10 / 92 BR_VB_concepts.doc

     Le code que l'on écrit dans un module de feuille est propre à l'application à laquelle la feuilleappartient. Il peut aussi faire référence à d'autres feuilles ou objets internes à cette application.

    2. MODULES STANDARD

    Les modules standard (dont le nom de fichier possède l'extension .BAS) sont des conteneurs de

    procédures et de déclarations généralement utilisés par d'autres modules internes à l'application.Ils peuvent contenir des déclarations de variables, de constantes, de types, de procéduresexternes et de procédures globales.Le code écrit dans un module standard n'est donc pas nécessairement lié à une applicationparticulière. Un module standard peut être réutilisé dans plusieurs applications différentes, àcondition de ne pas faire référence aux feuilles et aux contrôles par leur nom.On peut visualiser aisément le contenu, puisque c'est un fichier ASCII.Un projet aura de zéro à n modules standards.On trouvera souvent un module .BAS (appelé souvent main), qui contiendra les déclarations devariables globales au projet.

    3. MODULES DE CLASSE

    Les modules de classe (dont le nom de fichier possède l'extension .CLS) sont le fondement de laprogrammation orientée objet dans VB; On écrit du code dans les modules de classe pour créer de nouveaux objets, qui peuvent inclure ses propres méthodes et propriétés personnalisées.

    *  remarques :Ô  on pourra donner le nom que l'on veut à chacun de ces fichiers (modules), mais il estfortement conseillé de leur attribuer le nom spécifié dans la propriété name de la feuille.

    Ô  une fois le projet terminé, il est possible de créer un fichier exécutable (.EXE) en choisissant

    dans le menu Fichier  la commande Créer un fichier EXE. Tous les fichiers créés deviendrontalors inutiles, à l'exception des fichiers .DLL, .VBX et .OCX qui devront être stockés dans undossier accessible par un path.

    III- ERREUR! SIGNET NON DEFINI.RACCOURCIS CLAVIER

    Raccourci FonctionF5 Exécution

    Ctrl+PauseBascule en mode arrêt, très utile en cas deverrou (boucle infinie sur une msgbox par ex.).

    F7Bascule vers le module de code d'unefeuille.

    Shift+F7 Bascule du code vers l'objet.Shift+F2 en étant positionné sur unnom de procédure

     Affiche le code de la procédure appelée.

    Ctrl+Shift+F2 Affiche la procédure précédemmentconsultée.

    Ctrl+J

     Affiche à nouveau la liste automatique desméthodes et propriétés d'un objet. Sepositionner dans la méthode ou lapropriété à changer.

    Ctrl+Shift+Initiale d'une propriété Accès immédiat dans la fenêtre des

  • 8/18/2019 BR VB Concepts

    11/91

    B.ROCHE / IIRIAM 10/00 Page 11 / 92 BR_VB_concepts.doc

    propriétés sur celle commençant par l'initiale choisie.

    IV- METHODE DE PROGRAMMATION

    Les points suivants ne représentent que des conseils que le programmeur est libre de suivre oude ne pas suivre.

    Toutefois, il est conseillé de travailler avec rigueur et de faire une bonne analyse du problème àgérer, surtout si l'application à développer est complexe.

    Il est recommandé de suivre les étapes suivantes :

    *  créer le projetCréer sur le disque un dossier (répertoire) qui ne contiendra que les fichiers propres au projet.

    Dès le lancement de VB, faire Fichier  / Enregistrer le projet sous... dès lors qu'il s'agit d'unnouveau projet

    *  créer les fenêtresIl est préférable, au préalable, d'avoir conçu le schéma d'enchaînement des fenêtres del'application.On créera alors l'ensemble des fenêtres du schéma et on les laissera vierges pour l'instant.Il faudra, pour chaque feuille, lui attribuer trois noms :

    Ü  le nom en clair, qui apparaîtra dans le bandeau de la feuille

    Ü  le nom raccourci, qui est le nom qui apparaîtra dans les programmes (15 caractèresmaximum).

    Ü  le nom de sauvegarde, qui représente le nom sous lequel la feuille sera sauvegardéesur le disque. ( 8 caractères maximum).

    Il est nécessaire d'attribuer les noms de manière rigoureuse et selon un principe établi au préalable,afin de faciliter dans un premier temps la programmation et dans un deuxième temps la maintenance.

    *  placer les contrôlesSur chaque feuille, en leur donnant leur taille et leur emplacement définitifs. Pour les aligner, on

    peut choisir l'option afficher la grille dans Outils / Options / Environnement .Initialiser alors les propriétés de chaque contrôle, dont notamment le nom (propriété name)

    Mettre à true la propriété cancel  de tous les boutons Annuler Mettre à true la propriété Default  de tous les boutons OK  des fenêtres de saisie.Mettre à true la propriété cancel  de tous les boutons Annuler  des fenêtres de demande deconfirmation.

    *  programmer et tester les procédures d'événementNe pas programmer tout en même temps, mais au contraire, programmer de manièreprogressive, en testant le programme le plus souvent possible, afin de n'avoir pas trop de

    difficultés à trouver une erreur.

  • 8/18/2019 BR VB Concepts

    12/91

    B.ROCHE / IIRIAM 10/00 Page 12 / 92 BR_VB_concepts.doc

    Faire des indentations (décalages à droite) pour les structures si, tant que ,...Ne pas hésiter à commenter le programme notamment sur les points suivants :

    Ü  titres de paragraphes afin de bien faire ressortir la structure du programme,

    Ü  explications détaillées pour toutes les sections de programmes complexes.

    Tester et déboguer 

    *  créer l'aide en ligne

    *  imprimer la documentation automatique du projet

    *  créer le programme exécutable

    *  créer les disquettes d'installation

    *  rédiger la notice d'installation

    *  rédiger la notice d'utilisation

    *  former les utilisateurs au projet

  • 8/18/2019 BR VB Concepts

    13/91

    B.ROCHE / IIRIAM 10/00 Page 13 / 92 BR_VB_concepts.doc

    L'EDITEUR VISUAL BASIC

    Il est important de maîtriser la mécanique de l'écriture du code dans VB, afin de réduire les tempsde saisie de code, par exemple, l'éditeur de code de VB fournit automatiquement des

    informations sur le code que l'on tape. Ainsi, si on tape le nom d'un contrôle suivi de l'opérateur point (.), les propriétés et méthodes de ce contrôle s'affichent automatiquement dans une zonede liste. De même, quand on tape le nom d'une fonction dans la fenêtre Code, VB indiqueautomatiquement la syntaxe de celle-ci.

    Comme tous les autres langages de programmation, VB possède ses propres règlesd'organisation, de modification et de formatage du code. On va les détailler maintenant.

    I- UTILISATION DE L'EDITEUR

    L'Éditeur de code de Visual Basic est une fenêtre dans laquelle on écrit la majeure partie ducode. Elle se présente sous la forme :

    Liste objet Liste procédure

    Boutons de sélection d'affichage

  • 8/18/2019 BR VB Concepts

    14/91

    B.ROCHE / IIRIAM 10/00 Page 14 / 92 BR_VB_concepts.doc

    II- PRINCIPES D'ECRITURE

    1. ACHEVEMENT DE L'ECRITURE DE CODE

    Visual Basic facilite l'écriture du code, grâce à des fonctionnalités capables de compléter 

    automatiquement les instructions, les propriétés et les arguments. Au fur et à mesure que l'on tape le code, l'éditeur aff iche les choix, les valeurs ou les prototypesde fonction ou d'instruction appropriés.On peut activer ou désactiver ces options ainsi que d'autres valeurs du code à l'aide de l'ongletÉditeur de la boîte de dialogue Options, à laquelle on accède à l'aide de la commande Optionsdu menu Outils.

    Quand on spécifie le nom d'un contrôle dans le code, le Complément automatique desinstructions affiche une liste déroulante des propriétés disponibles pour ce contrôle. Il suffit alorsde taper les premières lettres du nom de la propriété pour sélectionner automatiquement cettedernière dans la liste. La touche TAB termine automatiquement la frappe.

    Cette option s'avère aussi utile lorsque l'on ne connaît pas avec certitude les propriétésdisponibles pour un contrôle donné.

    La fonctionnalité Info express automatique affiche la syntaxe des instructions et des fonctions.Quand l'on tape le nom d'une instruction ou d'une fonction valide, la syntaxe apparaîtimmédiatement en dessous de la ligne courante tandis que le premier argument s'affiche en gras.Une fois que l'on a spécifié la valeur du premier argument, le deuxième apparaît en gras.

    2. ÉCRITURE DES INSTRUCTIONS

    On peut répartir une instruction sur plusieurs lignes dans la fenêtre de l'Éditeur de code en

    utilisant le caractère de continuation de ligne (un espace suivi d'un trait de soulignement).Ô  Exemple : Data1.RecordSource = _ "SELECT * FROM Titles, Publishers" _ & "WHERE Publishers.PubId = Titles.PubID" _ & "AND Publishers.State = 'CA'"

    On peut aussi placer plusieurs instructions sur une ligne si on les sépare par deux-points (:)Ô  Exemple :Text1.Text = "Bonjour" : Red = 255 : Text1.BackColor = Red

    *  Remarque : Il est néanmoins préférable de placer chaque instruction sur une lignedistincte afin d'améliorer la lisibilité de votre code.

    Les commentaires peuvent figurer à la suite d'une instruction, sur la même ligne, ou occuper une ligne entière.

    3. CONVENTION D'AFFECTATION DE NOMS DANS VISUAL BASIC

    Les noms de ces procédures, variables et constantes déclarées dans VB doivent se conformer aux règles suivantes :å · Ils doivent commencer par une lettre.å · Ils ne peuvent pas contenir de point ni de caractère de déclaration de type (caractères

    spéciaux qui spécifient un type de données).

  • 8/18/2019 BR VB Concepts

    15/91

    B.ROCHE / IIRIAM 10/00 Page 15 / 92 BR_VB_concepts.doc

    å · Ils ne peuvent pas dépasser 255 caractères. Les noms des contrôles, feuilles, classes etmodules sont limités à 40 caractères.

    å · Ils ne peuvent pas être identiques à des mots clés avec restrictions.

    Un mot clé avec restrictions est un mot qui fait partie du langage Visual Basic. Il s'agit desinstructions prédéfinies (comme Interface et Loop), des fonctions (comme Len et Abs) et desopérateurs (comme Or et Mod).

    On peut utiliser les crochets pour faire référence à une feuille ou à un contrôle mais pas pour déclarer une variable ou une procédure portant le même nom qu'un mot clé avec restrictions. Lescrochets permettent aussi d'obliger Visual Basic à accepter les noms issus d'autres bibliothèquesde types et qui entrent en conflit avec des mots clés avec restrictions.On retrouve cette notion dans le code VB Applications

    On se rapportera également page 29 : Convention d'écriture des objets

  • 8/18/2019 BR VB Concepts

    16/91

    B.ROCHE / IIRIAM 10/00 Page 16 / 92 BR_VB_concepts.doc

    LES ELEMENTS DU LANGAGE

    I- LES VARIABLES

    1. LE NOM DES VARIABLES

    Le nom d'une variable commence par une lettre et doit comporter au plus 255 caractères

    2. DECLARATION IMPLICITE OU EXPLICITE

    Il n'est pas obligatoire de déclarer les variables utilisées dans un programme VB.C'est la déclaration implicite.VB alloue automatiquement une place en mémoire dès qu'il trouve une variable. C'est simple,

    mais cela peut causer quelques problèmes. En effet, si on fait une faute de frappe dans leprogramme, pour faire appel à une variable, VB allouera automatiquement un deuxièmeemplacement (ex : réfcli et refcli). Le programme fonctionnera très bien, mais il ne donnera pasles résultats attendus. La recherche de l'erreur peut s'avérer bien longue et compliquée...

    Il est donc préférable de déclarer les variable de manière expl ici te .

    Pour que VB vérifie qu'une variable est déclarée avant une première utilisation, il suffit de cocher la case Declare Variable Declaration de la boîte de dialogue OPTIONS (onglet environment ),accessible par le menu OUTILS.En fait lorsque cette option est active, VB ajoute dans tous les modules la ligne Option Explicit .

    *  Remarque : Visual Basic ne différencie pas les minuscules des majuscules. Ainsi, il ne fait pasde différence entre la variable nomcli et Nomcli ou NomCli

    3. DECLARATION EXPLICITE

    Dans le cadre d'une déclaration explicite, on utilise une des instructions suivantes :

    Ô  Dim  : variable dont la portée est limitée au domaine à l'intérieur duquel elle est déclarée. Cedomaine peut être une procédure, une fonction, un module ou une feuille. La durée de vie dela variable est alors limitée au domaine à l'intérieur duquel elle est déclarée.

    Ô  Static  : Fonctionne sur le même principe qu'une variable déclarée avec Dim, mais sa durée devie est celle du projet. Elle conserve sa valeur en mémoire tout au long du projet, même si àmoment elle n'est pas accessible du fait de sa portée.

    Ô  Publ ic  : variable devant être déclarée dans la section déclaration d'un module, qui sera diteglobale à l'application, et qui sera accessible de n'importe quel endroit de l'application.

  • 8/18/2019 BR VB Concepts

    17/91

    B.ROCHE / IIRIAM 10/00 Page 17 / 92 BR_VB_concepts.doc

    4. LES TYPES DE VARIABLES

    Les différents types sont :

    Type codetype

    Définition

    Byte 17 entier non signé sur 1 octet : de 0 à 255Integer 2 entier signé sur 2 octets : de -32768 à +32767

    Long 3 entier signé sur 4 octets

    Boolean(à partir de V4)

    11 True ou False sur 2 octets

    Single 4 nombre décimal à virgule flottante, signé, sur 4 octets

    Double 5 nombre décimal à virgule flottante, signé, sur 8 octets

    Currency 6 virgule fixe signé (4 chiffres décimaux) sur 8 octets

    String 8 chaîne de caractères longueur variable

    String * n 8 Chaine de caractères de longueur fixe (n étant la longueur)

    Date 7 Date et/ou heure, sur 8 octets

    Object référence à un objet quelconque

    Variant 12 tout type (numérique, chaîne, objet, tableau)à utiliser avec prudence !...

    *  Remarques :Ô  Une chaîne de caractères s'écrit entre guillemets ("ceci est en exemple de chaîne")

    Ô  Une simple quote sur une ligne implique que le reste de la ligne est du commentaire ( ' )Ô  La taille d'une chaîne peut aller jusqu'à 65400 octets, une chaîne est de taille fixe ou

    variable.Ô  La valeur True équivaut au nombre entier 0Ô  La valeur False équivaut au nombre entier -1Ô  Le type variant admet tout type de données. VB associe à cette variable le type de la

    valeur attribuée lors de l'affectation.

    On peut tester le type de la variable avec la fonction VarType. En plus des valeurs vues cidessus, on pourra trouver les valeurs suivantes :

    vbObject 9 OLE Automation object.vbError 10 Error.vbDataObject 13 Non-OLE Automation object.vbArray 8192 Array.

    5. EXEMPLES

    dim nom as string ' ceci est une chaîne de taille variable (adaptée à son contenu)dim ville as string * 20 ' ceci est une chaîne de taille fixe égale à 20static Heure as dateDim numcli as integer, adresse as string, ville, cp as string

    Dans ce cas là, ville sera du type variant car on n'a pas défini de type.

  • 8/18/2019 BR VB Concepts

    18/91

    B.ROCHE / IIRIAM 10/00 Page 18 / 92 BR_VB_concepts.doc

    6. CAS PARTICULIER : LES CONSTANTES

    On utilise l'instruction const

    exemple : const Maxi = 100

    II- TYPES UTILISATEURS

    Il peut arriver que l'on ait besoin de se créer des types particuliers.On utilise alors l'instruction Type , commençant apr le mot clé type et se finit par end type.On déclare généralement les types utilisateurs dans la procédure déclarations du module.Ces types de données peuvent contenir un ou plusieurs éléments d'un type de donnéesprédéfini, d'un type de tableau ou d'un autre type précédemment défini par l'utilisateur 

    Ô  exemple :type enr_pers

    nom as string * 20prenom as string * 15end type

    Une fois la déclaration de type faite, on peut déclarer des variables ayant ce type:

    dim personne as enr_pers

     personne est une variable nécessitant 35 octets en mémoire.

    On peut accéder à un champ de la manière suivante :

     Affectation : personne.nom = "Dupont"

    III- LES TABLEAUX

    Le tableau est un type complexe permettant de regrouper des informations de même nature.Visual Basic admet jusqu'à 60 dimensions, mais il est bien évident qu'il faut éviter de travailler sur de telles structures !!!

    La déclaration d'un tableau se fait tout simplement par l'instruction Dim (ou Static ou Public).

    L'indice d'un tableau commence toujours à 0. On peut toutefois, ne travailler qu'à partir de l'indice1, ce qui laisse les vide les emplacements d'indice 0.

    Ô  exemples :dim tab_eleves (20) as string*20 'tableau à 1 dimension, à 21 éléments de 20 caractères 'dim tab_notes (10,20) As integer 'tableau à 2 dimensions 11 lignes et 21 colonnes d'entiers'dim tab_noms (5) 'tableau à 1 dimension, de type variant '

    Ce tableau permet de stocker 200 valeurs numériques.

  • 8/18/2019 BR VB Concepts

    19/91

  • 8/18/2019 BR VB Concepts

    20/91

    B.ROCHE / IIRIAM 10/00 Page 20 / 92 BR_VB_concepts.doc

    Ô  exemples

    If total >= 1000then remise = 0.2

    end if 

    If total >= 1000then remise = 0.4else remise = 0.2

    end if 

    if total < 1000then remise = 0.2elseif codecli = "G"  then remise =0.3  else remise = 0.4

    end if 

    select case remisecase 1000 to 2000

    remise = 0.2case 2000 to 3000

    remise = 0.3case else

    remise = 0.35typeclient = "à suivre"

    end select

    2. LES BOUCLES

     Algorithme Visual Basic

    répéter suite d’actions à faire

     jusqu’à 

    Dosuite d’actions à faire

    Loop Until

    Le programme fait au moins un passage dans la boucle. Il bouclera jusqu'à ce que la condition

    soit satisfaite.

    tant que  fairesuite d’actions à faire

    fin tant que

    do While suite d’actions à faire

    Loop

    Le programme ne rentre pas forcément dans la boucle. Il y rentre si la condition est satisfaite etboucle tant qu'elle est vérifiée.

    pour  i de min à max fairesuite d’actions à fairefin pour 

    For i = min To maxsuite d’actions à faireNext

    On utilise cette structure lorsque l’on sait le nombre de passages que l’on veut effectuer dans laboucle. A la place de min et max, on peut mettre des valeurs ou bien des expressions.L'incrémentation est automatique et la pas par défaut est 1.

  • 8/18/2019 BR VB Concepts

    21/91

    B.ROCHE / IIRIAM 10/00 Page 21 / 92 BR_VB_concepts.doc

    Variantes :For i = min To max Step 2

    suite d’actions à faireNext

    L'option step permet de faire varier le pas d'une autre valeur que 1. Ici le pas sera de 2.

    On peut aussi avoir un pas négatif :

    For i = max To min Step -1suite d’actions à faire

    Next

    V- LES OPERATEURS

    1. OPERATEURS ALGEBRIQUES

    + somme de 2 nombres ou concaténation de 2 chaînes- soustraction de 2 nombres* multiplication de 2 nombres^ élévation à la puissance/ division de 2 nombres (le résultat est un flottant)\ division entière de 2 nombres (le résultat est l'arrondi de la

    division de l'arrondi des opérandes)

    Mod modulo, reste de la division entière (le résultat est le reste dela division entière des deux opérandes (ex 12.6 mod 3.1donnera 1)

    & concaténation de 2 chaînes de caractères

    2. OPERATEURS DE COMPARAISON

    < inférieur à supérieur  

    >= supérieur ou égal à

    = égal à différent deLike comme le modèle de chaîne fourni

    Jokers : Utilisés avec l'opérateur like pour établir le modèle de chaîne :

    * remplace de 0 à n caractères quelconques? remplace un seul caractère quelconque# remplace un seul chiffre

    [liste de caractères] pour tout caractère unique qui se trouve dans laliste

    [!liste de caractères] pour tout caractère unique qui ne se trouve pasdans la liste

  • 8/18/2019 BR VB Concepts

    22/91

    B.ROCHE / IIRIAM 10/00 Page 22 / 92 BR_VB_concepts.doc

    Ô  exemples :if nomclient like "R[OA]" then...La condition sera vérifiée si le nom du client commence par RO ou RA

    if nomclient like "T?[!OA]" then ...La condition sera vérifiée si le nom du client commence par T et n'a pas O ou A en troisièmeposition.

    3. OPERATEURS LOGIQUES

    Not non logique (pas) And et logique

    Or ou logiqueXor ou exclusif  Eqv équivalence logiqueImp implication logique() permet de rendre une comparaison prioritaire

    Ô  Equivalence logique :

    resultat = expression 1 eqv expression2

    Si expression1 est Et expression2 est résultat a la valeur  True True TrueTrue False FalseFalse True FalseFalse False True

    Ô  Implication logique : (voir documentation VB)

    VI- LES PROCEDURES

    1. CLASSIFICATION DES PROCEDURES

    On peut classer les procédures en deux catégories, bien qu'elles fonctionnent toutes sur le mêmeprincipe. Il est toutefois important de comprendre à quoi elles correspondent et où elles ont étécréées.

    a) Les p ro cédu res d e feu ill e 

    On trouvera, dans chaque feuille :

    Ô  une procédure pour déclarer les variables

    Ô  autant de procédures que d'événements qui peuvent se produire sur la feuille (chargement,déchargement,...)

    Ô  autant de procédures que d'événements possibles sur chaque contrôle de la feuille (click,drag,..)

    Ô  autant de procédures et fonctions que le programmeur désire et qui ne sont pas liés à unévénement.

  • 8/18/2019 BR VB Concepts

    23/91

    B.ROCHE / IIRIAM 10/00 Page 23 / 92 BR_VB_concepts.doc

    b) Les p ro cédu res d e mod ule 

    On trouvera, dans chaque module autre que les feuilles :

    Ô  une procédure de déclarationÔ  autant de procédures et de fonctions que le désire le programmeur.

    Dans tous les cas, il est fortement recommandé de faire une programmation modulaire, afind'augmenter la lisibilité des programmes et leur maintenance.

    On distinguera également les types suivants de procédures :

    Ô  Les procédures Sub : elles ne renvoient pas de valeur.Ô  Les procédures Function : elles renvoient une valeur.

    Ô  Les procédures Property : elles peuvent renvoyer ou affecter des valeurs, et définir desréférences à des objets.

    2. LES PROCEDURES SUB

    a) Déclar at ion 

    [Private|Public][Static]Sub nom_procedure (liste des paramètres)

    suite d’actionsEnd Sub

    Par défaut, les procédures Sub sont des procédures Public dans tous les modules, ce qui signifiequ'elles peuvent être appelées à partir de n'importe quel endroit de l'application.

    Dans Visual Basic, il est important de faire la distinction entre les deux types de procédures Sub,à savoir les procédures générales et les procédures d'événement .

    b) Procédure générale 

    Une procédure générale indique à l'application la façon de mener à bien une tâche particulière.Une fois qu'une procédure générale est définie, elle peut être appelée par l'application. C'est lanotion de procédure telle qu'elle a été définie en cours d'algorithmique.

    c) Procédure d 'événement 

    Une procédure d'événement, au contraire, reste inactive jusqu'au moment où elle est appeléepour réagir à des événements provoqués par l'utilisateur ou déclenchés par le système.Dans VB, lorsqu'un objet reconnaît qu'un événement s'est produit, il appelle automatiquement laprocédure d'événement dont le nom correspond à l'événement. Comme le nom associe les objetset le code, on dit que les procédures d'événement sont attachées aux feuilles et aux contrôles.

    Toutes les procédures d'événement utilisent la même syntaxe générale:

  • 8/18/2019 BR VB Concepts

    24/91

    B.ROCHE / IIRIAM 10/00 Page 24 / 92 BR_VB_concepts.doc

    Syntaxe d'un événement de contrôle Syntaxe d'un événement de feuille

    Private Sub controlname_eventname ( paramètres)

      instructions

    End Sub

    Private Sub Form_ eventname ( paramètres)

      instructions

    End Sub

    *  Remarque :Il est aussi conseillé de définir la propriété Name des contrôles avant de commencer à écrire lesprocédures d'événement qui leur sont associées. En effet, si on modifie le nom d'un contrôleaprès lui avoir associé une procédure, on doit également modifier le nom de la procédure afinqu'elle corresponde au nouveau nom du contrôle. En effet, VB n'établit pas de lien entre lecontrôle et la procédure. Lorsqu'un nom de procédure ne correspond à aucun nom de contrôle, laprocédure devient une procédure générale.

    d) Appel 

    call nom_procedure (liste des paramètres)

    *  Remarques :Ô  le mot clé call  est facultatif.Ô  Si la procédure n'a pas de paramètres, on indique les parenthèses ouvrantes et

    fermantes dans la déclaration. On ne les fait pas apparaître dans l'appel.

    3. LES FONCTIONS : PROCEDURES FUNCTION

    Visual Basic contient un certain nombre de fonctions prédéfinies telles que Sqr, Cos ou Chr.On peut toutefois écrire ses propres procédures Function grâce à l'instruction Function.La syntaxe d'une procédure Function est la suivante :

    a) Déclar at ion 

    [Private|Public][Static]Function nom_fonction (liste des paramètres) as type_valeur_retournée

    dim variablex as type_valeur_retournée

    suite d’actionsvariablex = ...nom_fonction = variablex

    End Function

    b) Appel 

    valeur = nom_fonction (liste des paramètres)

    *  Remarque :

  • 8/18/2019 BR VB Concepts

    25/91

    B.ROCHE / IIRIAM 10/00 Page 25 / 92 BR_VB_concepts.doc

    Si on place le mot Static  devant Sub ou Function, alors toutes les variables locales serontconsidérées comme statiques.

    4. LE PASSAGE DE PARAMETRES

    On peut passer un paramètre de deux façons :

    Ô  soit par valeur,Ô  soit par référence.

    Si l'on n'indique rien (ou si on indique ByRef  ) devant un paramètre dans la déclaration de laprocédure ou de la fonction, le type de passage sera par référence.Si l'on veut effectuer un passage par valeur il suffit d'ajouter ByVal devant le nom du paramètre.

    Ô  Exemple :

    Sub controle (Byval nomp1 As string, testp1 As Boolean, nump1 As Integer)

    nomp1 est passé par valeur,testp1 et nump1 sont passés par référence.

    *  Remarque :on peut aussi déclarer des paramètres facultatifs avec le mot optional  (depuis la version 4)

    Sub test (v1 As Integer, Optional v2 As Integer)

    On ne peut pas trouver de paramètre obligatoire après un paramètre facultatif.

    VII- LES FONCTIONS PREDEFINIES

    1. FONCTIONS DE CONVERSIONS

    Fonction Description Asc retourne le code ASCII du premier caractère de la chaîne passée

    en argument.Chr retourne le caractère correspondant au code ASCII (0 à 255) passé

    en argument.Val convertit la chaîne passée en argument en donnée numérique

    ex : val("1234") donne la valeur 1234.Str conversion d'un nombre en chaîne

    Format formate une chaîne avec des instructions de formatage passéescomme arguments

    Hex, Oct retourne une chaîne correspondant à une conversion Héxa ouOctale de l'argument numérique.

    Cdbl convertit une expression en donnée de type double.Ccur convertit une expression en donnée de type currency.Cint convertit une expression en donnée de type integer.Clng convertit une expression en donnée de type long.

  • 8/18/2019 BR VB Concepts

    26/91

  • 8/18/2019 BR VB Concepts

    27/91

  • 8/18/2019 BR VB Concepts

    28/91

    B.ROCHE / IIRIAM 10/00 Page 28 / 92 BR_VB_concepts.doc

    NOTIONS D'OBJETS

    I- DEFINITION D'OBJET

    Un objet est une entité manipulable par l'ordinateur et à laquelle correspond :

    Ô  à une classe d'objetÔ  des propres propriétésÔ  des méthodesÔ  des procédures d'événementÔ  des procédures et fonctions

    En fait on peut citer quelques objets :

    Ô  la fenêtre d'accueil de l'application,Ô  la fenêtre de saisie d'un client,Ô  le bouton de "quitter" de la feuille affichée à l'écran,...Ces exemples font directement référence aux objets manipulés par Visual Basic, on peuttoutefois en citer d'autres :Ô  le client Dupont,Ô  l'imprimante connectée au poste de Monsieur Dupont,Ô  la facture n° 2345,...

    *  Chaque objet possède un nom.

    Ô  Exemples :* CmdQuit : nom du bouton de commande "quitter"* FrmAccueil : nom de la feuille d'accueil de l'application,...

    II- CONVENTION D'ECRITURE DES OBJETS

    Sous Visual Basic, on peut adopter la convention suivante pour nommer les objets :

    Objet Préfixe Exemple

    Feuille frm frmFileOpenCase à cocher chk chkReadOnlyListe modifiable cbo cboEnglishListe modifiable dépendante dbc dbcEnglishBouton de commande cmd cmdCancelDonnées dat datBiblioListe de répertoires dir dirSourceListe de lecteurs drv drvTargetListe de fichiers fil filSourceCadre fra fraLanguageGrille grd grdPrices

    Grille dépendante dbg dbgPricesBarre de défilement horizontale hsb hsbVolume

  • 8/18/2019 BR VB Concepts

    29/91

    B.ROCHE / IIRIAM 10/00 Page 29 / 92 BR_VB_concepts.doc

    Objet Préfixe ExempleFeuille frm frmFileOpenDessin img imgIconEtiquette lbl lblHelpMessageLigne lin linVerticalZone de liste lst lstPolicyCodes

    Zone de liste dépendante dbl dblPolicyCodeMenu mnu mnuFileOpenConteneur OLE ole oleObject1Bouton d'option opt optFrenchZone d’image pic picDiskSpaceForme (cercle, carré, ovale, rectangle, rectangle arrondiet carré arrondi)

    shp shpCircle

    Zone de texte txt txtGetTextMinuterie tmr tmrAlarmBarre de défilement verticale vsb vsbRate

    Les noms d'objet et les noms de variable sont soumis aux mêmes règles, comme tout ce qui seracréé sous Visual Basic.

    Les noms sous VB :Ô  doivent commencer par une lettre ;Ô  ne doivent contenir que des lettres, des chiffres et le trait de soulignement (_), mais pas

    de caractères de ponctuation ni d’espaces ;Ô  ne doivent pas dépasser 40 caractères.

    III- LES CLASSES D'OBJETS

    *  Tout objet appartient à une classe

    Dans une classe d'objets, on retrouve des objets de même nature.

     Ainsi, sous Visual Basic, on manipulera, entre autre :

    Ô  des classes de feuilles,Ô  des classes de contrôles .

     Ainsi, les contrôles de la boîte à outils représentent chacun une classe d'objets.L'objet connu comme contrôle n'existe pas avant sa création sur une feuille. Lorsque l'on crée uncontrôle sur une feuille, on crée une copie (ou occurrence ou instance de la classe) de cecontrôle. Cette occurrence de la classe constitue l'objet auquel on fait référence dansl'application.La feuille que l'on utilise au moment de la création est une classe. Au moment de l'exécution,Visual Basic crée une occurrence ou instance de la classe de la feuille.

    IV- LES PROPRIETES D'UN OBJET

     A chaque classe d'objets sont affectées un certain nombre de propriétés (au moins le nom de

    l'objet). Chaque objet de la classe a ses propres valeurs de propriétés.Chaque propriété a un nom, il faudra connaître les propriétés les plus courantes.

  • 8/18/2019 BR VB Concepts

    30/91

    B.ROCHE / IIRIAM 10/00 Page 30 / 92 BR_VB_concepts.doc

    Ô  exemples :* la propriété caption qui représente le titre d'une fenêtre ou d'un bouton,* la propriété Font  qui représente la police de caractère du titre d'une fenêtre ou d'un

    bouton,...

    La plupart des propriétés (mais pas toutes) sont modifiables aussi bien lors de la conception quelors de son exécution.

    Lors de la conception on peut modifier la valeur d'une propriété via la fenêtre des propriétés.Si la feuille des propriétés n'est pas apparente, il suffit d'appuyer sur la touche F4 ou de cliquer sur l'icône propriétés :

     

    Exemple de fenêtre de propriétés :

    La modification de la valeur d'une propriété, pendant la phase d'exécution, se fait en utilisant lanotation pointée :

    Ô  Exemple :FrmAccueil.Cmdbouton1.Caption = "Quitter"

    modifiera le texte du bouton de nom CmdBouton1 se trouvant dans la feuille de nom FrmAccueil .Si l'instruction précédante se trouve dans le module concernant la feuille FrmAccueil , on peutomettre FrmAccueil., ce qui donne :

    Cmdbouton1.Caption = "Quitter"

    Objet auquel serapporte la liste depropriétés

    Nom de la propriété

    Valeur 

    Définition de lapropriété

    Classe de l'objet

    Colonne des propriétésadmises pour cet objet

  • 8/18/2019 BR VB Concepts

    31/91

    B.ROCHE / IIRIAM 10/00 Page 31 / 92 BR_VB_concepts.doc

    En fait cette instruction modifie le texte du bouton de nom FrmAccueil  se trouvant dans la feuillecourante.

    Liste des principales propriétés, leur signification et les objets auxquels elles s'appliquent :

    Propriétés Signification Objets

     ActiveControl contrôle qui aurait le focus si le conteneur étaitactif. FormMDIForm ActiveForm feuille active pour une application MDI. MDIForm Align alignement automatique sur le bord de la feuille. Data

    PictureBox Alignment cadrage du texte CheckBox

    LabelOptionButtonTextBox

     Appearance apparence 3D ou normale (à choisir dans la liste). tout contrôlevisible

     AutoRedraw booléen indiquant si il y a mémorisation desdessins ou non, true mémorise au prix d'unaffichage très lent.

    FormPictureBox

     AutoShowChildren booléen indiquant si les feuilles enfants sontautomatiquement rendues visibles ou non.

    MDIForm

     AutoSize ajustement automatique des dimensions ducontrôle par rapport à son contenu.

    LabelPictureBox

    BackColor couleur de fond. tout contrôlevisible

    BackStyle indique si un contrôle graphique est transparent ounon.

    LabelShape

    BorderStyle type de bordure (à choisir dans la liste). Form

    GridImageLabelLinePictureBoxShapeTextBox

    Caption chaîne de caractères apparaissant dans l'objet(barre de titre pour une feuille).

    CheckBoxCommandButtonDataForm

    FrameLabelMDIFormOptionButton

    CellSelected indique si la cellule courante fait partie de lasélection.

    Grid

    ClipControls booléen indiquant si il faut tout redessiner (méthodes graphiques) en dehors des contrôlesnon graphiques.

    FormFramePictureBox

    Col n° de la colonne de la cellule courante. DBGridGrid

    Cols nombre de colonnes. GridColWidth largeur des colonnes. Grid

    DBGrid

  • 8/18/2019 BR VB Concepts

    32/91

    B.ROCHE / IIRIAM 10/00 Page 32 / 92 BR_VB_concepts.doc

    ControlBox booléen indiquant si le menu système est présentou non

    Form

    Controls tableau des contrôles contenus dans un contrôlede type conteneur. (collection).

    FormPictureBoxFrameSStab

    Count nombre de contrôles dans un conteneur. FormPictureBoxFrameSStab

    CurrentX position de la souris en X. FormPictureBox

    CurrentY position de la souris en Y. FormPictureBox

    DataChanged booléen indiquant si le contenu du contrôle achangé ou non (pour un contrôle lié à une BD).

    CheckBoxDBComboDBListImage

    LabelPictureBoxTextBox

    DataField champ de données auquel le contrôle est lié CheckBoxComboBoxDBComboDBGridDBListImageLabelListBox

    PictureBoxTextBoxDataSource contrôle Data auquel le contrôle est lié. idemDragIcon icône utilisé pour une opération de glisser tout contrôle

    visibleDragMode mode utilisé pour une opération de glisser  

    (automatique (vbautomatic ) ou manuel(vbmanual )).

    tout contrôlevisible

    DrawMode mode de dessin des traits (à choisir dans la liste). FormLinePictureBox

    ShapeDrawStyle type de trait (à choisir dans la liste). FormPictureBox

    DrawWidth largeur du trait de dessin. FormPictureBox

    Drive unité de disque courante. DriveListBoxEnabled booléen indiquant si le contrôle peut être activé ou

    non.tout contrôle

    FillColor couleur de remplissage. FormPictureBoxShape

    FillStyle motif de remplissage. FormGridPictureBox

  • 8/18/2019 BR VB Concepts

    33/91

    B.ROCHE / IIRIAM 10/00 Page 33 / 92 BR_VB_concepts.doc

    ShapeFixedCols nombre de colonnes fixes. GridFixedRaws nombre de lignes fixes. GridFont police de caractères active pour la méthode print . tout objet

    pouvant contenir du texte

    FontBold booléen indiquant si la police est en gras ou non. tout objetpouvant contenir du texte

    FontItalic booléen indiquant si la police est en italique ounon.

    tout objetpouvant contenir du texte

    FontSize taille de la police. tout objetpouvant contenir du texte

    FontStrikethru booléen indiquant si la police est barrée ou non. tout objetpouvant contenir du texte

    FontTransparent booléen indiquant si le fond de la police esttransparent ou non.

    tout objetpouvant contenir du texte

    FontUnderline booléen indiquant si la police est soulignée ou non. tout objetpouvant contenir du texte

    ForeColor couleur des caractères. tout objetpouvant contenir du texte

    GridLines booléen indiquant si il y a affichage du quadrillageou non.

    Grid

    GridLineWidth largeur des traits de quadrillage. GridhDC Handle graphique attribué par Windows. Form

    PictureBoxHeight hauteur d'un contrôle. tout contrôlehWnd Handle de la fenêtre attribué par Windows. contrôles listes

    contrôles boutonsFormFrameGridH et VScrollBar MDIForm

    PictureBoxTextBoxIcon fichier icône de la feuille. Form

    MDIFormIndex numéro dans un groupe de contrôle. tout contrôle

    visibleInterval périodicité de événement timer en millisecondes Timer  KeyPreview booléen indiquant si la feuille doit recevoir les

    événements clavier avant ses contrôle ou non.Form

    Left coordonnée en X du bord supérieur gauche. tout contrôleList tableau des textes d'une liste. contrôles listes

    ListCount nombre d'éléments d'une liste. contrôles listesListIndex indice de l'élément sélectionné dans une liste. contrôles listes

  • 8/18/2019 BR VB Concepts

    34/91

    B.ROCHE / IIRIAM 10/00 Page 34 / 92 BR_VB_concepts.doc

    Locked booléen indiquant si le contrôle est en lecture seuleou non.

    Column (Grid)TextBox

    Max valeur maximum de la propriété value. H et VScrollBar  MaxButton booléen indiquant si le bouton d'agrandissement

    est présent ou non.Form

    MaxLenght nombre maximal de caractères acceptés TextBoxMDIChild booléen indiquant si la feuille est une feuille enfantdans une application MDI.

    Form

    Min valeur minimum de la propriété value. H et VScrollBar  MinButton booléen indiquant si le bouton de réduction est

    présent ou non.Form

    MouseIcon image personnalisée pour le curseur de la souris. tout contrôlevisible

    MousePointer image prédéfinie pour le pointeur de la sourislorsqu'il passe sur un contrôle.

    tout contrôlevisible

    MultiLine booléen indiquant si la saisie se fait sur plusieurslignes ou non.

    TextBox

    MultiSelect indique le mode de sélection multiple dans uneliste.

    contrôles listes

    Name identifie un objet. tout contrôleNewIndex indice de l'élément ajouté en dernier dans une liste. contrôles listesParent feuille où se trouve le contrôle. tout contrôlePasswordChar caractère utilisé pour l'affichage du texte ("" normal

    ou un autre caractère).TextBox

    Path chemin d'accès courant. DirListBoxFileListBox

    Picture fichier du dessin de fond. FormImageMDIFormPictureBox

    Row n° de la ligne de la cellule courante. GridDBGrid

    RowHeight hauteur d'une ligne. GridDBGrid

    Rows nombre de lignes. GridScrollBars booléen indiquant la présence de barres de

    défilement ou non.Column (Grid)GridMDIFormTextBox

    Selected tableau de booléens indiquant l'état de sélection dechaque élément d'une liste.

    contrôles listes

    SelEndCol n° de la colonne de la dernière cellule sélectionnée. GridDBGrid

    SelEndRow n° de la ligne de la dernière cellule sélectionnée. GridSelLenght longueur de la sélection ComboBox

    DBComboTextBox

    SelStart position du premier caractère sélectionné. ComboBoxDBComboTextBox

    SelStartRow n° de la ligne de la première cellule sélectionnée. Grid

  • 8/18/2019 BR VB Concepts

    35/91

    B.ROCHE / IIRIAM 10/00 Page 35 / 92 BR_VB_concepts.doc

    SelStartCol n° de la colonne de la première cellulesélectionnée.

    GridDBGrid

    SelText chaîne sélectionnée. ComboBoxDBComboTextBox

    Shape figure géométrique (carré, rectangle...). ShapeSorted indicateur de tri ComboBoxListBox

    Stretch booléen indiquant si il y a ajustement de l'imageaux dimensions du contrôle ou non.

    Image

    Style type de liste combinée (déroulante, simple,déroulante sans saisie).

    ComboBoxDBCombo

    TabIndex ordre d'activation des contrôle lors de l'utilisation dela touche tabulation.

    tout contrôlepouvant avoir lefocus

    TabStop booléen indiquant si il y a arrêt ou non sur lecontrôle lors de l'utilisation de la touche tabulation.

    tout contrôlepouvant avoir lefocus

    Tag chaîne de caractères disponible pour leconcepteur.

    tout contrôle

    Text contenu du champ de saisie. Column (Grid)contrôles listesGridDBGridTextBox

    Top coordonnée en Y du bord supérieur gauche. tout contrôleValue valeur d'un contrôle. contrôles boutons

    H et VScrollBar 

    Visible booléen indiquant si un contrôle est visible ou non. tout contrôlevisible !

    Width largeur du contrôle. tout contrôleWindowState état de la fenêtre (normale, icône, plein écran). Form

    MDIForm

    V- LES METHODES D'UN OBJET

    Une méthode correspond à un programme lié à un objet. C'est le programmeur qui écrit les

    méthodes accessibles par un objet lorsqu'il crée une classe d'objet. Dans Visual Basic 4 Pro, iln'est pas possible d'écrire ou de modifier les méthodes d'une classe d'objets.Comme pour les propriétés, chaque objet pourra faire appel à certaines méthodes.

    On pourra appeler une méthode dans un programme.

    Ô  Exemples :

    FrmAccueil.Hide

    La méthode Hide fermera la fenêtre citée (ici la fenêtre ayant pour nom FrmAccueil).

  • 8/18/2019 BR VB Concepts

    36/91

    B.ROCHE / IIRIAM 10/00 Page 36 / 92 BR_VB_concepts.doc

    FrmAccueil.show

    affichera la feuille de nom FrmAccueil (si la propriété visible est égale à true).

    LstListetitre.AddItem "Monsieur le Directeur"

    On ajoutera la rubrique "Monsieur le Directeur" à l'objet LstListetitre qui correspond à une listedéroulante.

    *  Remarque :On utilise pour les méthodes la notation pointée, comme pour les propriétés.

    VI- EVENEMENTS ET PROCEDURES D'EVENEMENT

    Il existe plusieurs types d'événements, les plus simples à maîtriser et à comprendre sont lesévénements utilisateurs directs à savoir les actions sur le clavier ou la souris.

    Par exemple, il se produira un événement click sur un bouton de commande lorsque l'utilisateur cliquera sur le bouton en question. De même, il se produira l'événement change sur une zone detexte lorsque l'utilisateur aura saisi un caractère sur cette zone de texte.

    Lors d'une action sur le clavier ou la souris, Windows va générer des messages pour l'applicationconcernée (celle qui est active).

    Par exemple, l'utilisateur va modifier la dimension d'une fenêtre en cliquant sur la bordure et endéplaçant la souris en maintenant le bouton gauche enfoncé. Le code exécutable qui fait quevous voyez le cadre suivre le curseur de la souris est du code Windows (contenu dans unensemble de DLL formant les APIs Windows). Il n'y a rien à écrire dans l'application VB. Par 

    contre, lorsque l'opération est terminée (relâchement du bouton gauche de la souris), Windowsgénère un ensemble d'événements (Resize, Paint...) à destination de l'application concernée.

    Pour chaque objet, un ensemble d'événements est susceptible de se produire.Pour chacun de ces événements concernant un objet, il est possible d'écrire du code VB quis'exécutera lorsque l'événement se produira, il s'agit de la procédure événement.

    Ô  Exemple :Private Sub Command2_Click()calculette.HideForm1.Show

    End Sub

  • 8/18/2019 BR VB Concepts

    37/91

    B.ROCHE / IIRIAM 10/00 Page 37 / 92 BR_VB_concepts.doc

    LES OBJETS PROPRES A UN PROJET

    Les objets globaux sont des objets qui existent systématiquement. Ils correspondent à desfonctions du système d’exploitation tels que l’objet Screen, Printer ou Clipboard ou contiennent

    des informations sur l’application elle-même.

    I- L'OBJET APP

    L'objet App permet de déterminer des informations relatives à l’application.

    1. PROPRIETES ESSENTIELLES

    EXEName Retourne le nom du fichier EXE en cours d’exécution ou le nom du projet.HelpFile Détermine le nom du fichier d’aide Windows d’une application.Hinstance Renvoie l’identificateur de l’instance de l’application.LogMode Détermine les modalités de journalisation.LogPath Renvoie le chemin et le nom du fichier de journalisation utilisé par la

    méthode LogEvent.Path Détermine le chemin d’accès absolu en cours.PrevInstance Indique si une instance précédente (copie) de l’application fonctionne.StartMode Détermine si une application démarre en tant que projet autonome ou

    comme serveur OLE Automation.TaskVisible Détermine si l’application apparaît dans la liste des tâches de Windows.Title Détermine le titre de l’application qui apparaît dans le gestionnaire de tâ-

    ches de Windows.

    ThreadID Renvoie l’identif icateur Win32 de la thread en cours d’exécution (utilisédans les appels à l’API Win32).

    UnattendedApp Définit si une application sera exécutée sans interface utilisateur.

    2. PROPRIETES LIEES A LA COMMUNICATION AVEC DES COMPOSANTS ACTIVEX (SERVEUROLE)

    Lors de la communication de l’application avec un composant ActiveX, des boîtes de dialogue par défaut peuvent apparaître. Elles indiquent que le composant est occupé ou bien que la demandede l’application est en attente (c’est-à-dire en cours d’exécution).Les propriétés suivantes permettent de paramétrer les boîtes de dialogue devant apparaître :

    OLERequestPendingMsgText Définit le texte de la boîte de dialogue. Demande en attente.OLERequestPendingMsgTitle Définit le titre de la boîte de dialogue. Demande en attente.

    OLERequestPendingTimeOut Définit la durée au bout de laquelle la boîte de dialogue.Demande en attente apparaît.

    OLEServerBusyMsgText Définit le texte de la boîte de dialogue Serveur occupé.OLEServerBusyMsgTitle Définit le titre de la boîte de dialogue. Serveur occupe.OLEServerBusyRaiseError Définît si une requête d’automation rejetée génère une erreur au

    lieu d’afficher la boîte de dialogue. Serveur occupé.

    OLEServerBusyTimeOut Définit la durée au bout de laquelle la boite de dialogue Serveur 

  • 8/18/2019 BR VB Concepts

    38/91

    B.ROCHE / IIRIAM 10/00 Page 38 / 92 BR_VB_concepts.doc

    occupé apparaît.

    3. METHODES

    LogEvent Permet d’enregistrer un événement dans le journal de l’application.StartLogging Définit le journal et le mode de journaIisation.

    II- SCREEN

    Permet d’obtenir des informations sur l’écran et de contrôler le pointeur de la souris en dehorsdes feuilles de l’application exécutée.

    1. PROPRIETES

     ActiveControl Contrôle ayant le focus. ActiveForm Feuille ayant le focus.FontCount Nombre de polices de caractères de l’écran.Fonts Table des polices de caractères de l’écran.Height Hauteur de l’écran en twips (1440 twips/pouce, 567 twips/cm).MousePointer Définit l’apparence du pointeur de la souris.TwipsPerPixelX Indique le nombre pixel en abscisse.TwipsPerPixelY Indique le nombre pixel en ordonnée.Width Largeur de l’écran en twips.

    Exemple

    III- PRINTER / PRINTERS(COLLECTION)

    Permet de réaliser des impressions contrôlées par l’application. L’objet Printer peut êtreconsidéré comme une page de l’imprimante sur laquelle on peut placer du texte et desgraphismes (comme dans une feuille).

    1. PROPRIETES

    ColorMode Détermine si l’impression sur une imprimante couleur est en couleurs oumonochrome.

    Copies Détermine le nombre d’exemplaires à imprimer.

    Count Renvoie le nombre d’objets Printer (imprimante) de la collection Printers.DeviceName Renvoie le nom du périphérique pris en charge par un pilote donné.DriverName Renvoie le nom du pilote associé à un objet Printer (imprimante).Duplex Détermine si une page est imprimée des deux côtés.FONTCOUNT Nombre de polices de caractères de l’imprimante.Fonts Table des polices de caractères de l’imprimante.Height Hauteur d’une page de l’imprimante en twips.Orientation Indique si les documents sont imprimés en orientation portrait ou paysage.Page Numéro de la page courante.PaperBin Indique le bac d’alimentation par défaut de l’imprimante.PaperSize Indique la taille du papier.

    Port Détermine le nom du port de l’imprimante.PrintQuality Détermine la qualité d’impression.TrackDefault Détermine si l’objet Printer désigne toujours la même imprimante.

  • 8/18/2019 BR VB Concepts

    39/91

    B.ROCHE / IIRIAM 10/00 Page 39 / 92 BR_VB_concepts.doc

    TwipsPerPixelY Indique le nombre de twips pour un pixel en abscisse.TwipsPerPixelX Indique le nombre de twips pour un pixel en ordonnée.Width Largeur d’une page de l’imprimante en twips.Zoom Détermine le pourcentage d’agrandissement ou de réduction des données

    imprimées.

    2. METHODES

    EndDoc Met fin à l’impression d’un document et l’envoie au périphérique d’impression ou auspooler.

    KillDoc Arrête un travail d’impression.NewPage Met fin à la page en cours et passe à la suivante.PaintPicture Dessine le contenu d’un fichier graphique (.BMP, .WMF, .ICO, .EMF ou .DIB) sur 

    un objet Printer.

    IV- CLIPBOARD

    Permet de manipuler le contenu du Presse-papiers.

    1. METHODES

    Clear Efface le contenu du presse-papiers.GetData Renvoie une image depuis le presse-papiers.GetFormat Indique si le format des données contenues dans le presse-

    papiers correspond au format spécifié.GetText Renvoie un texte depuis le presse-papiers.SetData Place une image dans le presse-papiers en précisant le

    format.

    V- DEBUG

    Permet d’envoyer les données de sortie dans la fenêtre de débogage pendant l’exécution.

    1. METHODES

     Assert Suspend l’exécution du programme et affiche la ligne où cette méthode apparaît si

    la valeur booléenne passée comme argument est à False. Ceci permet deprovoquer des arrêts conditionnels lors de l’exécution du programme mais en modedéveloppement seulement, car les lignes de code contenant cette méthode ne sontpas prises en compte par le compilateur.

    Print Envoie des données dans la fenêtrede débogage.

  • 8/18/2019 BR VB Concepts

    40/91

    B.ROCHE / IIRIAM 10/00 Page 40 / 92 BR_VB_concepts.doc

    LES FEUILLES VISUAL BASIC

    I- PRESENTATION

    1. DEFINITION

    La feuille VB représente l'interface avec l'utilisateur, dans quasiment tous les projets.Un projet peut comporter de nombreuses feuilles.

    Une feuille peut jouer un rôle particulier, c'est la feuille de démarrage. C'est elle qui apparaîtralors du lancement du projet, si toutefois elle a été déclarée comme fenêtre de démarrage dans lemenu outil/option/projet . On peut aussi démarrer un projet par la procédure main. Il suffit de lesignaler dans le même menu.

    Les principales propriétés sur les objets ont été décrites dans le chapitre précédent, il fautmaintenant voir les méthodes et événements.

    2. FENETRE MODALE OU NON MODALE

    Une fenêtre A est dite modale si elle doit être fermée avant d'afficher une autre fenêtre Bprécédemment chargée.Toutefois, une fenêtre modale A peut ouvrir une autre fenêtre C, à condition que celle-ci soit elleaussi modale.

    Fenêtre B non modale

    Fenêtre A modale Fenêtre A modale

    Fenêtre A modale

    Fenêtre A modale

    Fenêtre B non modale

    Fenêtre C modale

    Non Possible

    Possible

    La plupart des feuilles seront modales. Toutes les feuilles d'information, de message d'erreur oude confirmation seront obligatoirement modales, puisque le programme a besoin de connaître laréponse du message pour pouvoir continuer à travailler.

  • 8/18/2019 BR VB Concepts

    41/91

    B.ROCHE / IIRIAM 10/00 Page 41 / 92 BR_VB_concepts.doc

    II- METHODES ET EVENEMENTS D'UNE FEUILLE

    1. LES METHODES

    Les méthodes les plus courantes sont les suivantes :

    Méthode Description

    Show Rend visible une feuille à l'écran. Si la feuille n'est pasprésente en mémoire, elle est chargée automatiquement.

    Hide Cache une feuille tout en la gardant en mémoire

    Move Déplace et redimensionne la feuille selon les coordonnéesfournies en paramètre.

    PopupMenu Affiche le menu contextuel spécifié

    Printform Imprime la feuille

    SetFocus Donne le focus à la feuille spécifiée, à condition que la feuillesoit chargée en mémoire.

     Ô  Exemple :FrmCalcul.Show 1

    Cette méthode affichera (après avoir éventuellement chargé) la feuille FrmCalcul. Le 1 signifieque la fenêtre est modale. Par défaut une fenêtre est non modale (valeur 0).

    2. LES EVENEMENTS

    Les événements présentés ici concernent uniquement la feuille et non les contrôles situés sur lafeuille.Le principaux événement sur une feuille sont les suivants :

    Evénement Description

    Load Il se produit au moment ou la feuille est chargée en mémoire,par l'instruction load. La feuille ne sera pas forcément affichée.

    Unload Il se produit au moment ou la feuille est déchargée de lamémoire, par l'instruction unload.

     Activate Il se produit lorsque la feuille devient active (quand on luidonne le focus), par les méthodes Show ou SetFocus.

    Deactivate Il se produit lorsque lorsque la feuille n'est plus la feuille active.(déplacement du focus sur une autre feuille et nondéchargement de la feuille).

    Click Il se produit lorsque l'utilisateur clique sur un bouton de lasouris et le relâche.

    DblClick Idem, mais double cilck

    Resize Il se produit lorsque l'utilisateur redimensionne la feuille.

  • 8/18/2019 BR VB Concepts

    42/91

    B.ROCHE / IIRIAM 10/00 Page 42 / 92 BR_VB_concepts.doc

    Ô  Exemple :load FrmCalcul

    Cette instruction chargera en mémoire la feuille FrmCalcul, sans toutefois l'afficher , etdéclenchera la procédure d'événement Form_Load().

    III- LA VIE D'UNE FEUILLE DANS UN PROJET

    La manipulation des feuilles nécessite une bonne connaissance des événements de la vie d'unefeuille. Les scénarios suivants présentent l'enchaînement des événements d'une feuille, leur signification et leur usage.

    1. AFFICHAGE D'UNE FEUILLE QUI N' A JAMAIS ETE EXPLOITEE

    Le terme feuille non exploitée signifie :Ø  Aucune variable publique déclarée dans cette feuille n'a déjà été sollicitée par une

    procédure extérieure.Ø  Aucune propriété de la feuille ou de ses contrôles n'a été sollicitée par une procédureextérieure.Ø  La feuille n'a jamais été affichée.

    Lorsque cette feuille est affichée suite à une instruction "NomFeuille.show", les événementssuivants se produisent dans cet ordre :

    À  Form_Initialize : Signale que les variables publiques et privées déclarées dans lafeuille sont chargées en mémoire. On profite de cet événement pour attribuer desvaleurs à des variables dès leur création.

    Á  Form_Load : Signale que les propriétés de la feuille et de ses contrôles sont chargéesen mémoire. On en profite pour paramétrer dynamiquement des objets avant leur affichage. Attention, la feuille n'est pas encore présente à l'écran. Si on utilise cetévénement pour coder des méthodes graphiques comme .line, .circle, etc..., aucuneerreur ne se produira mais les méthodes n'auront pas d'effet.

     Form_Resize : Signale que la fenêtre est redimensionnée. La fenêtre n'est cependantpas encore visible. On peut en profiter pour attribuer une dimension précise à lafenêtre.

    Ã  Form_Paint : Signale un rafraîchissement du contenu graphique de la fenêtre. Elle est

    visible à l'écran. On peut alors coder des méthodes graphiques.

    2. M ASQUAGE D'UNE FEUILLE PRESENTE A L'ECRAN :

    Si la feuille est affichée, ses variables et propriétés sont en mémoire. Masquer une feuille par l'emploi de sa méthode .hide entraine l'événement Form_DeActivate. Les variables et propriétéssont toujours en mémoire.

    Déchargement d'une feuille avec l'instruction Unload :Ceci entraîne particulièrement deux événements :

    À  Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) : Signale que ledéchargement a été demandé. Il permet grâce à l'argument UnloadMode de savoir 

  • 8/18/2019 BR VB Concepts

    43/91

    B.ROCHE / IIRIAM 10/00 Page 43 / 92 BR_VB_concepts.doc

    quelle est l'origine du déchargement (Windows, Feuille mère MDI, Instruction Unload,Utilisation des cases "système"). L'argument Cancel fonctionne comme un booléen. Enplaçant sa valeur sur True dans la procédure événementielle, le déchargement de lafeuille est annulé.

    Á  Form_Unload(Cancel As Integer) : signale le déchargement de la feuille. Peut êtreannulé par l'emploi de l'argument Cancel (Cancel=True). Sans annulation, l'événementUnload signifie le déchargement des propriétés, mais pas celui des variables quirestent chargées. Les variables publique, privées, statiques déclarées dans une feuillesurvivent donc à la fermeture de celle-ci.

    3. DESTRUCTION DE L'INSTANCE D'UNE FEUILLE:

    Pour obtenir une destruction définitive de toute référence à une feuille, on utilise l'instructionsuivante :

    Set NomFeui l le  = Nothing

    l'événement Form_Terminate est activé. Il signale que les variables déclarées dans la feuillesont détruites. A utiliser pour éventuellement archiver des valeurs.

    4. M ANIPULATION D'UNE VARIABLE D'UNE FEUILLE NON EXPLOITEE:

    Si une procédure accède en consultation ou modification à une variable déclarée dans une feuillequi n'a encore jamais été exploitée d'une quelconque manière que ce soit, l'événementForm_Initialize se produira et toutes les déclarations de la feuille seront réalisées.

    5. M ANIPULATION D'UNE PROPRIETE D'UNE FEUILLE NON EXPLOITEE:

    Si une procédure accède en consultation ou modification à une propriété d'une feuille ou de ses

    contrôles qui n'a encore jamais été exploitée d'une quelconque manière que ce soit, lesévénements Form_Initialize et Form_Load se produiront.Les variables.de la feuille seront donc chargées, puis les propriétés.Il n'est donc pas nécessaire qu'une feuille soit chargée par l'instruction LOAD pour pouvoir utiliser ses variables ou propriétés depuis une procédure extérieure.

    IV- LES BOITES DE DIALOGUE

    Les boîtes de dialogue sont des feuilles prédéfinies par Visual Basic et qui permettent d'afficher 

    des messages d'erreur, des messages à l'attention de l'utilisateur, de proposer des choix quiinfluenceront la suite du programme.

    Deux types de boîtes de dialogue sont possibles :

    Ô  les MsgBox pour les messagesÔ  les InputBox pour la saisie d'une valeur 

    1. LES BOITES DE DIALOGUE DE TYPE MSGBOX

    L'affichage d'une boîte de dialogue de type MsgBox peut se faire soit par l'instruction MsgBox,

    soit par la fonction MsgBox.

  • 8/18/2019 BR VB Concepts

    44/91

    B.ROCHE / IIRIAM 10/00 Page 44 / 92 BR_VB_concepts.doc

    Le principe est le même, sauf qu'avec la fonction MsgBox, il sera possible de savoir sur quelbouton l'utilisateur a appuyé, et ainsi de conditionner la suite du programme.

    Ô  Exemple : L'xemple ci-dessous montre une procédure qui utilise à la fois l'instruction MsgBox et la fonction.On notera que les paramètres ne sont pas les mêmes).

    Titre

    Prompt

  • 8/18/2019 BR VB Concepts

    45/91

    B.ROCHE / IIRIAM 10/00 Page 45 / 92 BR_VB_concepts.doc

    Private Sub Form_Load()Dim reponse As Integer Form1.Showreponse = MsgBox("ceci est un test de boîte de dialogue", 35, "Bienvenue")Select Case reponse  Case 6  MsgBox ("vous avez appuyé sur OUI")  Case 7  MsgBox ("vous avez appuyé sur NON")  Case 2  MsgBox ("vous avez appuyé sur ANNULER")End SelectEnd Sub

    *  Remarque : avec la saisie assistée, on aurait pu se dispenser de calculer la valeur de lavariable boutons, en cliquant successivement sur les styles de boutons proposés par l'éditeur. Ainsi la commande devient :

    reponse = MsgBox("Ceci est un test de boîte de dialogue", vbDefaultButton1 + vbQuestion +vbYesNoCancel, "Bienvenue")

    Syntaxe :

    MsgBox(prompt[, boutons][, titre][, helpfile, context])

    Seul le prompt est précisé pour l'instruction. Helpfile et Context sont rarement utilisés.

    Prompt  : il s'agit du texte du message. Il ne doit pas excéder 1024 caractères . Le passage à la

    ligne sera automatique, à moins d'introduire la caractère de code ASCII 13 pour forcer le passageà la ligne à l'endroit souhaité.

    Boutons  : C'est une valeur numérique égale à la somme des 4 indications suivantes :* sur les boutons

    Code types de boutons0 OK1 OK et Annuler  2 Abandonner, répéter et Ignorer  3 Oui, Non et Annuler  4 Oui et Non5 Répéter et Annuler  

    * sur l'icôneCode types d'icône

    16 Message critique "X"32 Confirmation "?"48 Avertissement "!"64 Information "i"

  • 8/18/2019 BR VB Concepts

    46/91

    B.ROCHE / IIRIAM 10/00 Page 46 / 92 BR_VB_concepts.doc

    * sur le bouton par défautCode bouton par défaut

    0 Premier  256 Deuxième512 Troisième

    * sur la modalité de la boîteCode modalité

    0 La boîte est modale et il est possible de passer à uneautre application par ALT + TAB ou bien ALT + ESC 

    1 La boîte est modale et il est impossible de passer àune autre application par  ALT + TAB ou bien ALT + ESC 

    On peut tester, avec la fonction MsgBox quel bouton a été activé par l'utilisateur.Les valeurs de retour sont les suivantes :

    Code bouton sélectionné1 OK2 Annuler  3 Abandonner  4 Répéter  5 Ignorer  6 Oui7 Non

    Titre  : C'est le texte affiché dans le bandeau de la boîte de dialogue (son titre).

    2. LES BOITES DE DIALOGUE DE TYPE INPUTBOX

    L'affichage d'une boîte de dialogue de type InputBox ne peut se faire que par l'instermédiaire dela fonction InputBox.

    Syntaxe

    InputBox(prompt[, titre][, défaut][, xosx][, ypos][, helpfile, context])

    Ici aussi, seuls Prompt , titre et défaut  seront généralement utilisés.

    Prompt  et t i t re  : même signification que pour une MsgBox.

    Défaut  : Valeur par défaut qui s'affichera dans la boîte de dialogue. Cet argument n'est pasobligatoire !

    Dim reponse As String...

    reponse = InputBox("Entrer le titre du client", "Saisie du client", "Monsieur")

  • 8/18/2019 BR VB Concepts

    47/91

    B.ROCHE / IIRIAM 10/00 Page 47 / 92 BR_VB_concepts.doc

    *  Remarques :Ô  Le type retourné par la fonction est du chaîne. Attention donc à éventuellement convertir la

    valeur saisie.

    Ô  Si l'utilisateur appuie sur le bouton Annuler , la fonction retournera une chaîne vide.

  • 8/18/2019 BR VB Concepts

    48/91

    B.ROCHE / IIRIAM 10/00 Page 48 / 92 BR_VB_concepts.doc

    LES CONTROLES

    Les principaux contrôles offerts par Visual Basic sont consignés dans la boîte à outils quiapparaît dans le projet.

    On étudiera dans ce chapitre les principaux.

    I- LES CONTROLES STANDARDS

    Label

    Cadre (frame)Case à cocher 

    Liste modifiable (combo box)

    Minuteriel

    Liste de répertoires

    Forme (shape)

    Dessin

    Contrôleur OLE

    Barre défilement horizontale

    Liste modifiable dépendante  accès aux données

    SStab

    Zone d'image

    Texte (textBox)

    Bouton de commandeCase d'option

    Barre de défilement

    Zone de liste d'unités

    Zone de liste de fichiers

    Ligne (line)

    Donnée (data)

    Zone de liste

    Liste dépendante (DBList)

    Dialogue commun

    Grille dépendante(DBGrid)

    Pointeur 

    1. LE POINTEUR

    Permet de déplacer et de redimensionner des feuilles et des contrôles.(Il ne s'agit pas d'un contrôle.)

    2. LE CONTROLE ETIQUETTE (LABEL)

     Affiche du texte que l'utilisateur ne peut pas modifier et avec lequel il ne peut pasdialoguer. Ce contrôle ne peut recevoir le focusIl pourra être modifié par la propriété caption.

  • 8/18/2019 BR VB Concepts

    49/91

    B.ROCHE / IIRIAM 10/00 Page 49 / 92 BR_VB_concepts.doc

    On utilisera ce contrôle comme étiquette en regard d'un champ de saisie, comme titre, pour placer un commentaire ou afficher une donnée non modifiable.

    Propriétés courantes Valeurs Description Alignement 0

    12

    texte aligné à gauchenombre aligné à droitecentré

    Caption Texte Texte qui sera affiché dans le contrôleEnabled True ou False Affiche en grisé le contrôle si la valeur est

    False. Le contrôle ne pourra réagir auxévénements générés par l'utilisateur 

    FontBold True ou False GrasFontItalic True ou False ItaliqueFontUnderline True ou False SoulignéFontName Police de caractèresFontSize Taille de la police de caractèresName Nom du contrôle (ne pas confondre avec le

    contenu)Visible True ou False Visible sur la feuille ou nonDataSource (voir la paragraphe accès aux données)DataField (voir la paragraphe accès aux données)

    *  RemarquesÔ  D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle

    (couleur, bordure,...), mais il est conseillé de se rapporter à la norme Windows et de s'yconformer.

    3. LE CONTROLE ZONE DE TEXTE (TEXTBOX)

    Fournit une zone pour taper ou afficher du texte. La différence avec un label est quel'utilisateur a la possibilité de modifier le contenu par l'intermédiaire du clavier, après avoir cliquésur le champ.

    Propriétés courantes Valeurs Description AlignementEnabledFontBoldFontItalicFontNameFontSizeFontUnderlineNameVisibleDataSourceDataFieldIndex Numéro qui identifie de manière unique un

    contrôle dans un groupe de contrôles.MaxLengh Nombre Nombre maximal de caractères pouvant être

    saisisMultiline True ou False Autorise ou pas plusieurs lignes dans une zone

  • 8/18/2019 BR VB Concepts

    50/91

    B.ROCHE / IIRIAM 10/00 Page 50 / 92 BR_VB_concepts.doc

    Propriétés courantes Valeurs Descriptionde texte.

    PasswordChar un caractère Caractère affiché dans un mot de passeScrollBars 0

    12

    3

    pas de barre de défilementBarre de défilement horizontaleBarre de défilement vertical

    Barres de défilement horizontale et verticale.TabIndex nombre numéro d'ordre des tabulations dans sa feuillemère.

    TabStop True ou False Arrêt ou pas sur la zone de texte en cas detabulation

    Text Texte qui sera affiché dans le contrôle.

    *  RemarquesÔ  D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle

    (couleur, bordure,...), mais il est conseillé de se rapporter à la norme Windows et de s'yconformer.

    Ô  Il est possible de se positionner directement sur un champ de saisie en utilisant le etcommercial dans la propriété caption du label précédent le champ de saisie dansl'ordre des tabulations. Ce caractère sera alors souligné et on pourra se rendredirectement sur le champ de saisie par le raccourci clavier ALT  + caractère souligné

    4. BOUTON DE COMMANDE (COMMANDBUTTON)

    Exécute une commande ou une action lorsque l’utilisateur le choisit.

    Propriétés courantes Valeurs DescriptionCaptionEnabledDataChangedDataFieldDataSourceFontBoldFontItalicFontNameFontSizeFontUnderlineIndexNameTabIndexTabStopVisibleCancel True ou False Si la valeur est à true, la touche Echap équivaut

    à un click sur ce bouton.Default True ou False Si la valeur est à true, la touche Entrée

    équivaut à un click sur ce bouton.

  • 8/18/2019 BR VB Concepts

    51/91

    B.ROCHE / IIRIAM 10/00 Page 51 / 92 BR_VB_concepts.doc

    *  RemarquesÔ  D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle

    (couleur, bordure,...), mais il est conseillé de ne pas abuser de ces propriétés et delaisser les propriétés par défaut.

    Ô  On peut mettre, à la place du texte (propriété caption), une image ou une animation.Cela peut parfois être utile, mais attention aux abus et au côté gadget qui risque delasse l'utilisateur.

    Ô  Il est possible de faire précéder un caractère de la propriété caption d'un et commercial (&). Ce caractère sera alors souligné et on pourra sélectionner le bouton de commandepar le raccourci clavier ALT  + caractère souligné (comme pour les menus).

    Ô  Il est conseillé d'utiliser la même valeur pour le nom du contrôle (propriété Name) etpour son contenu (propriété caption). Si on utilise un préfixe on fera précéder le nomdu préfixe (ex : Quitter / CmdQuitter).

    Ô  la propriété Cancel  égale à True est généralement attribuée à un bouton du type Annuler  et la propriété Default  est généralement attribuée à un bouton du type OK 

    5. CASE A COCHER (CHECKBOX)

     Affiche une option Vrai/Faux ou Oui/Non.Le nombre de cases à cocher que l'on peut activer simultanément est illimité.Le texte associé fait partie du contrôle. Ce n'est donc pas un label.

    Propriétés courantes Valeurs Description Alignment 0 ou 1CaptionEnabledFontBoldFontItalicFontNameFontSizeFontUnderlineIndex

    NameTabIndexTabStopVisibleValue 0

    12

    La case n'est pas cochéeLa case est cochéeLa case est grisée

    *  RemarqueÔ  Les propriétés DataSource, DataField et DataChanged  seront vues dans le paragraphe

    accès aux données.

  • 8/18/2019 BR VB Concepts

    52/91

    B.ROCHE / IIRIAM 10/00 Page