Université des Sciences et Technologies U.S.T.H.B. Faculté de Physique. Destiné aux étudiants en Master et Licence (L3)



Documents pareils
Formation VBA 3 Interagir

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Rapport de Mini-Projet en ArcGIS Engine

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

STAGE IREM 0- Premiers pas en Python

Visual Basic for Applications

Cliquez sur le site que vous souhaitez consulter, il s affichera directement dans le navigateur.

1 TD 2 : Construction d'une chier Acrobat et envoi par

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

Initiation à VBA pour Excel. Philippe Bernard Ingénierie Economique et Financière Université Paris-Dauphine

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

1. Structure d'un programme FORTRAN 95

Conservez la documentation à portée de main pour toute référence future. Le terme «pointeur» dans ce manuel désigne le pointeur interactif YA-P10.

Guide sommaire de TecLocal

TABLEAU CROISE DYNAMIQUE

Travaux pratiques Détermination de la capacité de stockage des données

Guide des fonctions avancées de mywishtv

Paginer les données côté serveur, mettre en cache côté client

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.3

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Procédure d'installation complète de Click&Decide sur un serveur

GUIDE D'INSTALLATION DU SYSTEME DE GESTION DE BASES DE DONNEES MYSQL POUR LE PGI EBP

Convertisseur BBAN/IBAN

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

1. Aménagements technologiques 2. Installation de Microsoft SQL Server 2012

Computer Link Software

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Création du projet : 1 sur 13

FAQ Trouvez des solutions aux problématiques techniques.

Tutorial Terminal Server sous

Documentation Technique du programme HYDRONDE_LN

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Guide d installation CLX.PayMaker Office (3PC)

Se débarrasser des s indésirables

Access 2007 FF Access FR FR Base

Contrôler plusieurs ordinateurs avec un clavier et une souris

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Création d'un questionnaire (sondage)

Module : Informatique Générale 1. Les commandes MS-DOS

MODE D EMPLOI DU MODULE D E-COMMERCE

Share Monitor Manuel de l utilisateur

Algorithmique et programmation : les bases (VBA) Corrigé

Le langage C. Séance n 4

WinReporter Guide de démarrage rapide. Version 4

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

MANUEL DRIVELINK DRIVELINK

Stellar Phoenix Outlook PST Repair - Technical 5.0 Guide d'installation

Installation et paramétrage de Fedora dans VirtualBox.

Manuel d'utilisation avec le superviseur ISCANSERVER et le client VEHICLE Network System

CRÉER UN DVD VIDEO avec DVD FLICK (avec ou sans menu)

5004H103 Ed. 02. Procédure d installation du logiciel AKO-5004

Gestion des sauvegardes

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Crédit Agricole en ligne

Form Designer Guide d utilisateur DOC-FD-UG-FR-01/01/12

Table des matières : 16 ASTUCES OUTLOOK

Transmissions série et parallèle

(1) XDCAM Browser

Encryptions, compression et partitionnement des données

progecad NLM Guide de l'utilisateur

COUR D APPEL DE LYON PROCEDURE INFORMATIQUE IMPRIMANTES. Imprimantes SAR de Lyon / Novembre 2007 Page 1 sur 14

Comment sauvegarder ses documents

3.2. Matlab/Simulink Généralités

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Cours Informatique Master STEP

1.1 L EXPLORATEUR WINDOWS

Documentation utilisateur. [EIP] TransLSF

Certificats de signature de code (CodeSigning)

Sommaire 1 CONFIGURER SA MESSAGERIE 2 2 CONSULTER VOS MAILS SUR INTERNET (WEBMAIL) 7 3 PROBLEMES POSSIBLES 8

BIRT (Business Intelligence and Reporting Tools)

La Clé informatique. Formation Excel XP Aide-mémoire

Plateforme FX and MM Trading de HSBCnet - Visite guidée

Initiation à LabView : Les exemples d applications :

LibreOffice Calc : introduction aux tableaux croisés dynamiques

esms Desktop Guide de l utilisateur

NAS 106 Utiliser le NAS avec Microsoft Windows

Installation de Microsoft Office Version 2.1

CARTE INTERFACE PCI PARALLÈLE

GESTION DE L'ORDINATEUR

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

Préparation à l examen EFA en Macro

A - Créer une Base de données au format dbase

Google Drive, le cloud de Google

Manuel d'utilisation d'apimail V3

Cours Apl 11 - Introduction à la gestion des écrans

Contro ler plusieurs ordinateurs avec un clavier et une souris

Listes de validation dans OpenOffice Calc

Comment créer et utiliser une fonction

Programmation VBA. Excel Daniel-Jean David. et Groupe Eyrolles, 2014, ISBN :

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

AFTEC SIO 2. Christophe BOUTHIER Page 1

Transcription:

Université des Sciences et Technologies U.S.T.H.B. Faculté de Physique MANUEL PÉDAGOGIQUE Destiné aux étudiants en Master et Licence (L3) Initiation à la programmation orientée objet et l asservissement d instruments Auteurs : Dr. N. BENREKAA «Maitre de Conférences A» Dr. N. HAINE «Maitre de Conférences A» Mr. C. GUERBI «Maitre Assistant A» 1

Exercices et Travaux pratiques 2

Exercices et travaux pratiques Exercice n 1 (résolu) Comme premier exercice en VB vous allez créer la feuille illustrée sur la figure 3. Le but de cette application est d afficher une information dans un objet précis. Etape1 : implémentation visuelle Vous devez mettre sur la feuille les objets suivants : Feuille principale en mode implémentation Command1 : «bouton de commande» Text1 : premier texte placé sur la feuille Label1 : première étiquette placée sur la feuille Sur la fenêtre de propriété remarquez que chaque objet (même la feuille) possède un nom «Name» il est d usage de nommer chaque objet d une manière intelligente afin de l identifier facilement dans le code. Nous allons adopter la convention de nomination suivante :? Pour les zones de textes : txt+ nom au choix. 3

? Pour les étiquettes : lbl+ nom au choix? Pour les boutons : cmd+ nom au choix? Pour les feuilles : frm+ nom au choix Remarque : Pour sélectionner un objet de la boîte à outils, déplacez le curseur de la souris sur l'élément que vous voulez choisir, une info bulle apparaît et vous indique le nom de l'objet sur lequel vous pointez la souris. Utiliser «select/draw» pour placer les objets sur la feuille. Nomination et modification de l aspect des objets : Nommer les objets selon la convention adoptée (utiliser le tableau suivant) : Objet Name caption Backcolor Feuille Frmexo1 Mon premier programme Commande Cmdafficher Afficher Zone de texte Txtafficher --------- Etiquette Lblafficher - à vider - vert Exécuter votre programme en utilisant dans la barre suivante : Que ce passe-il? Etape2 : écriture du code Arrêter le programme en appuyant sur 4

Afin d écrire un code relatif à chaque objet, il existe plusieurs méthodes. Double cliquer sur le bouton de commande. Le code en gras suivant apparaît : Private Sub cmdafficher_click() Txtafficher.text= " étudiants du master MC" Lblafficher.caption=" bien venue aux : " Ecrire le code dans la procédure comme suit : Exécuter votre programme. Si votre programme marche normalement et effectue les opérations voulues procéder à son enregistrement. Il est fortement conseillé de ne pas procéder à l amélioration de votre programme avant qu il ne marche normalement. Etape 3 : amélioration du programme Nous allons procéder à l amélioration du programme en ajoutant une commande qui permet d effacer le contenu de la zone de texte uniquement (voir tableau suivant) : Objet name caption Command1 Cmdeffacer Effacer Question : Proposer un code à écrire dans la procédure relative à la nouvelle commande et enregistrer votre travail. 5

- Vous venez de réaliser votre premier programme orienté objet. Votre enseignant vous expliquera les différentes fonctionnalités pour ce type de programmation, l ajout d objet dans la boite à outils et la combinaison objet/action sur l objet déclanchant une procédure Exercice n 2 (opérateurs mathématiques, les prises de décisions) Il est demandé dans cet exercice de concevoir une application permettant de faire la soustraction, l addition, la division et la multiplication. - L interface utilisateur devra ressembler à la feuille ci -dessous : Objets à implémenter : 3 étiquettes 2 boutons 3 zones de texte a- la multiplication : (*) Nous pouvons dans un premier temps écrire le code suivant dans la procédure click du bouton calculer : 6

Text3.Text = Text1.Text * Text2.Text à l exécution, le résultat s affiche dans la zone de texte 3. b- la soustraction : (-) Modifier le code afin d afficher la soustraction de deux chiffres. c- l addition : (+) Modifier le code afin d afficher l addition de deux chiffres. - que remarquez vous lors de l exécution? Utiliser la fonction Val qui retourne la valeur numérique d un champ saisi. Exemple de syntaxe de la fonction Val : Cet exemple utilise la fonction Val pour retourner les nombres contenus dans une chaîne. Val("2457") ' Returns 2457. Val(" 2 45 7") ' Returns 2457. d- la division : (/) Modifier le code afin d afficher le résultat de la division deux chiffres. Attention : Dans le ca de la division par zéro la zone de texte «résultat» devra afficher «Impossible, division par zéro!» Utiliser l une des instructions de prise de décision suivantes : If Then EndIf If Then Else EndIf If Then Elseif Then Elseif Then Else EndIf 7

Exercice n 3 (opérateurs numériques, résolution d une équation) Il est demandé dans cet exercice de développer un projet permettant la résolution d une équation du second ordre dans? (ensemble des nombres réels). Exercice n 4 (affichage de messages) Dans cet exercice nous allons afficher des messages avec la fonction Msgbox avec ses deux variantes Variante 1 Réaliser l interface utilisateur suivante : Ecriture du code : Ecrire le code suivant dans la procédure click du bouton «Afficher» : MsgBox(" Ceci est un message") Exécuter le programme (remarquez ce qui est affiché) Variante 2 Modifier le code dans la procédure click du bouton «Afficher» par : Dim Variable As Monmessage 8

Monmessage= MsgBox("message de le boite", vbyesnocancel, "titre de la boite") Text1.Text = Monmessage Exécuter le programme (remarquez ce qui ce passe en cliquant sur les différents boutons proposés) Modifications : Vous avez bien remarqués que l instruction vbyesnocancel permet d afficher trois propositions à l utilisateur, modifier cette instruction par : vbyes, vbnocancel Voir le comportement de la «boite» Msgbox Note : Nous avons dans cet exercice déclaré une variable «Monmessage» comme variable de type «variant» Il préférable de déclarer toutes les variables dans les déclarations générales de votre projet. Voici les principales variables utilisées dans visual basic : Les noms de variables n ont pas de longueur maximale - Ils doivent commencer par un caractère - Ils ne doivent pas comporter d espace - Ils ne sont pas sensibles à la casse Types des variables - Boolean : True False - Byte : de 0 à 255 - Integer : de 32 768 à 32 767 - Long : de 2 à +2 milliards environ - Single : virgule flottante simple précision - Double : virgule flottante double précision 9

- Currency : entier en virgule fi xe - String : jusqu à 65 000 caractères Exercice n 5 (Boites de dialogues) Nous dans cet exercice explorer plusieurs boites de dialogues grâce à l objet Commondialog Si vous avez choisi au lancement de visual Basic, un exécutable standard, votre boite à outils (ToolBox) ne contiendra par l objet Commondialog. Vous pouvez cependant ajouter ce Contrôle dans le ToolBox de la façon suivante : Cliquez coté droit de la souris sur un endroit vide du ToolBox puis choisir Composants, la fenêtre suivante apparaît : Cochez sur le contrôle «Microsoft CommonDialog Control» puis Appuyez sur OK. Maintenant vous disposez d un nouveau contrôle sur votre ToolBox Implémentation des objets : Implémenter un contrôle bouton et un contrôle Commondialog sur votre feuille principale. - exécuter votre programme. - que remarquez-vous? 10

Ajouter le code suivant dans la procédure Click du bouton : CommonDialog1.Action = 1 - exécuter votre programme. - que remarquez-vous? - Changer la valeur de la propriété Action par 2 puis 3 puis 4 et finalement 5, exécuter à chaque changement - que remarquez-vous? Nous venons d explorer dans cette première partie de l exercice les principales boites de dialogues prédéfinies. Exercice n 6 (InputBox) Il est demandé dans cet exercice d explorer par un programme élaboré l instruction InputBox. Exercice n 7 (Boites de dialogues personnalisées ) Nous allons dans cet exercice utiliser une deuxième feuille en tant que boite de dialogue. Feuille1 : Dans cette feuille vous allez implémenter : Objet Name Caption code Commande CmdAfficher Afficher Form2.Show Commande CmdQuitter Quitter End Zone de texte TxtAfficher - - Cliquez côté droit de la souris sur la Form1 dans l explorateur de projet, puis ajouter une feuille simple (form2) 11

Feuille2 : Dans cette feuille vous allez implémenter : Objet Name Caption Code Commande CmdCalculer Calculer Form1.TxtAfficher.Text=Form2.Text1.text-Form2.Text2.text Commande CmdRetour Retour Form2.Hide Zone de texte Text1 - - Zone de texte Text2 - - Zone de texte Text3 - - - Exécuter votre programme - Conclure Exercice n 8 (réalisation d un comptage, l objet Timer) Etape 1 : - Implémenter dans une feuille vide un bouton de commande et une zone de texte vide - Ecrire le code suivant dans la procédure click du bouton : For i = 1 To 100 i = i + 1 Next i Text1.Text = i - Executer votre programme - Qu affiche la zone de texte? - Quels sont les inconvénients de ce programme? 12

Etape 2 : - Implémenter dans une feuille vide un bouton de commande et une zone de texte contenant la valeur «0» - Ecrire le code suivant dans la procédure click du bouton : Text1.Text = Val(Text1.Text) + 1 - Exécuter votre programme - Qu affiche la zone de texte à chaque click? - Quels sont les inconvénients de ce programme? Etape 3 : (utilisation de l objet timer) - Implémenter dans une feuille vide un bouton de commande (Name=CmdGo, Caption=Go) et une zone de texte contenant la valeur «0» - Implémenter l objet Timer sur votre feuille avec les propriétés suivantes : - Ecrire le code suivant dans la procédure click du bouton (CmdGo) : Timer1.Enabled=True - Ecrire le code suivant dans la procédure du timer1: Text1.Text = Val(Text1.Text) + 1 - Exécuter votre programme - Qu affiche la zone de texte en cliquant sur le bouton? - Quels sont les inconvénients de ce programme? 13

- Modifier votre programme afin d arrêter le compteur - Que signifie valeur 200 dans la propriété Interval du Timer Exercice n 9 (Création de fichiers de données, Ecriture dans un fichier) Nous allons dans cet exercice utiliser le programme précédant (étape 3). - Ajouter un contrôle Commondialog1 à votre interface utilisateur - Ajouter les objets nécessaires à l élaboration du projet, d ont le code est le suivant : Private Sub CmdFichier_Click() CommonDialog1.Action = 2 Open CommonDialog1.FileName For Output As #1 Private Sub CmdGo_Click() Timer1.Enabled = True Private Sub CmdStop_Click() Timer1.Enabled = False Close #1 Private Sub Timer1_Timer() Text1.Text = Val(Text1.Text) + 1 Print #1, Text1.Text 14

- Exécuter votre programme - Pouvez vous réduire le nombre de contrôles existants? si oui, comment? Exercice n 10 (Manipulation de données, Tracé graphique, stockage, affichage..) Nous allons réaliser dans cette séance un programme performant, permettant de tracer un vecteur de données issues d un calcul automatique simple. Il s agit d introduire toutes les connaissances acquises dans ce projet final. Etapes à suivre Ouvrez un nouveau projet «contrôles de VB édition entreprise» comme illustré sur la figure C. Ces types de projets sont semblables aux exécutables standards à l exception du toolbox qui contient plus d objets. 15

Implémentation des objets : Implémenter les objets comme illustré sur la figure ci -dessous et suivre les instructions du tableau. Il est impératif de respecter les conventions adoptées dans cet exercice. Tableau Objet Name Caption Valeur Command1 cmdquitter Quitter Command2 cmdgo Go Text1 txtcomp 0 Text2 txtinterval 500 Text3 Text4 txtx txty Chekbox1 chkverr 0 (unchecked) Optionboutton1 optmarche Optionboutton2 optarret Value=true Timer1 Timer1 Enabled=false Interval=500 Graph1 Graph1 AutoInc=gphOFF Graphtype=9-Scatter Vscroll1 Vscroll1 Min=100 Max=2000 Value=500 smallchange=10 largechange=10 Procédure à suivre pour ajouter l objet Graph : 16

Dans la barre de menus allez à Projet Composants Parcourir system32 GRAPH32.OCX ouvrir. Choisir le composant «Pinnacle-BPS Grah Conrol» dans la liste des Objets (voir figure a et b) puis explorer de nouveau la boite d outils (toolbox) et vous constaterai l apparition d un nouvel objet ( ) : Figure B Figure A Votre feuille devra ressembler à la figure C Figure C Ecriture du Code : Tapez le code suivant dans la procédure adéquate à chaque objet dans le projet ---------------------------------------------------------------------------- 17

Private Sub ChkVerr_Click() If ChkVerr.Value = 1 Then txtinterval.locked = True Else txtinterval.locked = False End If ----------------------------------------------------- Private Sub Cmdexit_Click() End Close #1 ----------------------------------------------------- Private Sub CmdGo_Click() CommonDialog1.Action = 2 Open CommonDialog1.FileName For Output As #1 ---------------------------------------------------------------------------- Private Sub Optarret_Click() Timer1.Enabled = False ---------------------------------------------------------------------------- Private Sub Optmarche_Click() Timer1.Enabled = True ---------------------------------------------------------------------------- Private Sub Timer1_Timer() Timer1.Interval = Val(txtinterval.Text) txtcomp.text = Val(txtcomp.Text) + 1 18

txtx.text = Val(txtcomp.Text) txty.text = (Val(txtcomp.Text)) ^ 2 Graph1.NumSets = 1 Graph1.ThisSet = 1 Graph1.NumPoints = 2000 Graph1.ThisPoint = Val(txtcomp.Text) Graph1.GraphData = Val(txtY.Text) Graph1.XPosData = Val(txtX.Text) Graph1.DrawMode = 2 Print #1, Val(txtX.Text); Tab; Val(txtY.Text) ---------------------------------------------------------------------------- Private Sub VScroll1_Change() txtinterval.text = VScroll1.Value ---------------------------------------------------------------------------- Exécution du programme : Avant d exécuter votre programme il faudra réfléchir sur les tapes à suivre pour son bon fonctionnement. Votre programme pourra être sauvegardé par la suite. Questions : (répondre sur une feuille) 1. Le projet ainsi conçu contient-il des imperfections? Si oui lesquels 2. Essayer d améliorer votre programme pour réduire au maximum les imperfections (avec vos connaissances actuelles) 19

Exercice 11 : (propriétés Len, Mid, right, left) Implémentez les objets (consignés dans le tableau ci-dessous) dans une feuille d implémentation, les zones de textes doivent êtres vides. Objet Name Caption Code Commande1 CmdCalculer Calculer txtafficher.text=len(txtchaine.text) Text1 TxtChaine - Text2 TxtAfficher - - Exécution : - Que remarquez vous en cliquant sur le bouton «calculer»? - Tapez la chaine suivante dans la zone de texte TxtChaine : «étudiants L3» puis exécutez votre programme. Que remarquez-vous? - Concluez. - Utilisez le même programme pour découvrir les fonctions Mid, lenght, right de la façon suivante : - Modifiez le code du bouton CmdCalculer par les codes suivants un par un et concluez à chaque fois : 1) txtafficher.text=mid(txtchaine.text, 1,4) 2) txtafficher.text=right(txtchaine.text, 3) 3) txtafficher.text=left(txtchaine.text, 3) Exercice 12 : (La fonction Timer ) Nous voulons dans cet exercice découvrir la fonction Timer qui diffère de l objet Timer. Implémentez dans une feuille les objets suivants : Objet Name Caption Code Commande1 CmdTime Time TxtTime.text=Timer 20

Text1 TxtTime - - Exécutez votre programme, que remarquez-vous? Cliquez plusieurs fois sur le bouton, que remarquez-vous? Amélioration du programme : Etape1 : Utilisez un objet «Timer» pour exécutez le code présent dans le bouton automatiquement (par exemple, choisissez un intervalle de temps = 10ms) Etape2 : Utilisez le code de l étape1 et implémentez les objets nécessaires pour réaliser le code suivant : Private Sub CmdTime_Click() Timer1.Enabled = True TxtTimeR.Text = Timer Private Sub CmdStop_Click() Timer1.Enabled = False Private Sub Timer1_Timer() TxtTimeR = t0 - Val(TxtTime.Text) Question : Qu affiche la zone de texte «TxtR»? Exercice 13: Modifier le programme de l exercice N 10 afin de tracer une fonction de votre choix en fonction du temps réel. Travail personnel à faire 21

Feuille 1 (Form 1) Feuille 2 (Form 2) Module 1 Private Sub Command1_Click() Timer1.Enabled = True Private Sub Command2_Click() Timer1.Enabled = False Private Sub Command3_Click() Form2.Show Private Sub Command4_Click() End Private Sub Command1_Click() Form2.Hide Global comp, a, b As Variant Public Sub Trace(X As Variant, Y As Variant) If comp > 1 Then Form2.Graph1.NumPoints = comp End If With Form2.Graph1.NumSets = 1.ThisSet = 1.ThisPoint = comp.graphdata = Y.XPosData = X.DrawMode = 3.SymbolData = gphcrossplus.colordata = 1 Private Sub Form_Load() comp = 0 End With Private Sub Timer1_Timer() comp = comp + 1 a = comp b = Sin(comp / 5) Call Trace(a, b) 22

Exercice 14 : (Gestion d erreurs) Dans le programme modifié de l exercice 10, repérer les erreurs possibles lors de l exécution. Visual basic vous propose un débogage avec un sur lignage de couleur jaune. Introduisez la séquence suivante pour gérer au mieux les erreurs : On Error GoTo line ensemble d instructions. line : exit sub Exercice 15 Affichage de messages Dans cet exercice nous allons afficher des messages avec la fonction Msgbox avec ses deux variantes Variante 1 Réaliser l interface utilisateur suivante : 23

Ecriture du code : Ecrire le code suivant dans la procédure click du bouton «Afficher» : MsgBox(" Ceci est un message") Exécuter le programme (remarquez ce qui est affiché) Variante 2 Modifier le code dans la procédure click du bouton «Afficher» par : Dim Variable As Monmessage Monmessage= MsgBox("message de le boite", vbyesnocancel, "titre de la boite") Text1.Text = Monmessage Exécuter le programme (remarquez ce qui ce passe en cliquant sur les différents boutons proposés) Modifications : Vous avez bien remarqués que l instruction vbyesnocancel permet d afficher trois propositions à l utilisateur, modifier cette instruction par : vbyes, vbnocancel Voir le comportement de la «boite» Msgbox Note : Nous avons dans cet exercice déclaré une variable «Monmessage» comme variable de type «variant» Il préférable de déclarer toutes les variables dans les déclarations générales de votre projet. Voici les principales variables utilisées dans visual basic : Les noms de variables n ont pas de longueur maximale 24

- Ils doivent commencer par un caractère - Ils ne doivent pas comporter d espace - Ils ne sont pas sensibles à la casse Types des variables - Boolean : True False - Byte : de 0 à 255 - Integer : de 32 768 à 32 767 - Long : de 2 à +2 milliards environ - Single : virgule flottante simple précision - Double : virgule flottante double précision - Currency : entier en virgule fixe - String : jusqu à 65 000 caractères Exercice 16 : Utiliser le Msgbox (Variante 1 ou 2) afin de gérer les éventuelles erreurs dans votre programme. La gestion d erreurs s effectue de la façon suivante : Ceci est un exemple d un code utilisant une gestion d erreur. Adapter ce code à votre programme (ne pas reproduire intégralement). Private Sub Form_Load() On Error GoTo Sortiediscrete 'lignes de code du programme ' Tout s' est bien passé, nous sortons de la procédure Exit Sub 'Voici l' étiquette du gestionnaire d' erreurs SortieDiscrete: 25

'On peut mettre un message du genre(voir en fonction de l' erreur détectée) msg = "Une erreur involontaire s' est produite. Veuillez relancer le programme!" MsgBox msg L instruction Inputbox Comme pour les messages, Visual Basic propose une fonction simple permettant de créer une boîte de dialogue InputBox. Elle est activée par l'appel suivant: Variable = InputBox(Prompt, Titre, Defaut, X, Y) Le paramètre Prompt est le texte saisi par l'utilisateur. Le paramètre Titre contient éventuellement le titre de la boîte de dialogue. Le texte Defaut est proposé au moment de l'ouverture de la boîte de dialogue. X et Y permettent de positionner la boîte, en l'absence de ces valeurs, la boîte de dialogue est centrée. Un exemple de boîte de dialogue InputBox Le message est passé dans le paramètre "Message", le titre dans "Titre". Tous les paramètres sont définis librement à l'exception de "Message" Si vous définissez une chaîne de caractère "Texteinplicite", ce texte sera affiché dans la zone de texte dès l'ouverture de la fenêtre. Les variables numériques "x" et "y" permettent de positionner l'angle supérieur gauche de la fenêtre dans des coordonnées exprimés en "Twips" à partir de l'angle supérieur gauche de l'écran. Une application envisageable de "InputBox" est la saisie d'un mot de passe. Titre = "Saisie du mot de passe" Message="Tapez quelque chose pour accéder au programme" MotDpass=InputBox(Message, Titre)'La boite de dialogue s'ouvre, 26

' inscrit la valeur de, Message et de Titre à l'emplacement prévu par VB If MotDpass = MotDpass Then 'Explication du traitement conditionnel : ' 'si la donnée saisie par l'utilisateur est égale à la donnée enregistrée par le concepteur, alors... 'Instructions (autoriser l'accès) Else 'Instructions (refuser l'accès et quitter le programme) 'Fin de la procédure End If Exercice : Munir le programme de génération et enregistrement des données d un code de protection pour l accès (inspirez vous du code ci-dessus) Créateur de menus Pour créer un contrôle Menu, utilisez le Créateur de menus. Entrez le nom du Menu dans la zone Caption. Pour créer une barre de séparation, tapez simplement un trait d'union (-) dans la zone Caption. Pour afficher une coche à gauche du nom d'un élément de menu, activez la case à cocher Checked. Bien que certaines propriétés des contrôles Menu puissent être définies dans le Créateur de menus, toutes les propriétés de ces contrôles sont disponibles dans la fenêtre Propriétés. Pour afficher les propriétés d'un contrôle de Menu, sélectionnez son nom dans la zone Objet de la partie supérieure de la fenêtre Propriétés. Options de la boîte de dialogue Caption Vous permet d'entrer les noms de menu ou de commande qui apparaîtront sur votre barre de menus ou dans un menu. Name 27

Vous permet d'entrer un nom de contrôle pour l'élément de menu. Ce nom est un identificateur utilisé uniquement pour accéder à l'élément de menu dans le code. Il n'apparaît pas dans le menu. ShortCut Vous permet de sélectionner un raccourci clavier pour chaque commande. Checked Vous permet d'ajouter une coche à la gauche d'un élément de menu. Celle-ci est généralement utilisée pour signaler si une option à bascule est validée ou non. Enabled Vous permet de décider si l'élément de menu doit répondre à des événements, ou doit être grisé si vous voulez qu'il soit indisponible. Flèche vers la droite Déplace le menu sélectionné d'un niveau vers le bas lorsque vous cliquez dessus. Vous pouvez créer jusqu'à quatre niveaux de sous -menus. Flèche vers la gauche Déplace le menu sélectionné d'un niveau vers le haut lorsque vous cliquez dessus. Vous pouvez créer jusqu'à quatre niveaux de sous -menus. Flèche vers la haut Déplace l'élément de menu sélectionné d'une position vers le haut à l'intérieur d'un même niveau de menu à chaque fois que vous cliquez dessus. Flèche vers la bas Déplace l'élément de menu sélectionné d'une position vers le bas à l'intérieur d'un même niveau de menu à chaque fois que vous cliquez dessus. Supprimer Supprime la ligne actuellement sélectionnée. Exercice : Améliorer votre interface utilisateur en utilisant des menus appropriés (l interface utilisateur doit être la plus fonctionnelle possible). Attention aux conventions (pour un menu utiliser la convention Mnu.) 28

Communication Série et Parallèle : Port série et port parallèle Les ports d'entrée-sortie sont des éléments matériels de l'ordinateur, permettant au système de communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où l'appellation d'interface d'entréesortie (notée parfois interface d'e/s). Port série Les ports série (également appelés RS-232, nom de la norme à laquelle ils font référence) représentent les premières interfaces ayant permis aux ordinateurs d'échanger des informations avec le "monde extérieur". Le terme série désigne un envoi de données via un fil unique : les bits sont envoyés les uns à la suite des autres (reportez-vous à la section transmission de données pour un cours théorique sur les modes de transmission). A l'origine les ports série permettaient uniquement d'envoyer des données, mais pas d'en recevoir, c'est pourquoi des ports bidirectionnels ont été mis au point (ceux qui équipent les ordinateurs actuels le sont); les ports séries bidirectionnels ont donc besoin de deux fils pour effectuer la communication. La communication série se fait de façon asynchrone, cela signifie qu'aucun signal de synchronisation (appelé horloge) n'est nécessaire: les données peuvent être envoyées à intervalle de temps arbitraire. En contrepartie, le périphérique doit être capable de distinguer les caractères (un caractère a une longueur de 8 bits) parmi la suite de bits qui lui est envoyée. C'est la raison pour laquelle dans ce type de transmission, chaque caractère est précédé d'un bit de début (appelé bit START) et d'un bit de fin (bit STOP). Ces bits de contrôle, nécessaires pour une transmission série, 29

gaspillent 20% de la bande passante (pour 10 bits envoyés, 8 servent à coder le caractère, 2 servent à assurer la réception). Les ports série sont généralement intégrés à la carte mère, c'est pourquoi des connecteurs présents à l'arrière du boîtier, et reliés à la carte mère par une nappe de fils, permettent de connecter un élément extérieur. Les connecteurs séries possèdent généralement 9 ou 25 broches et se présentent sous la forme suivante (respectivement connecteurs DB9 et DB25) : Un ordinateur personnel possède généralement de un à quatre ports séries. Port parallèle La transmission de données en parallèle consiste à envoyer des données simultanément sur plusieurs canaux (fils). Les ports parallèle présents sur les ordinateurs personnels permettent d'envoyer simultanément 8 bits (un octet) par l'intermédiaire de 8 fils. Les premiers ports parallèles bidirectionnels permettaient d'atteindre des débits de l'ordre de 2.4Mb/s. Toutefois des ports parallèles améliorés ont été mis au point afin d'obtenir des débits plus élevés : 30

Le port EPP (Enhanced Parralel Port, port parallèle amélioré) a permis d'atteindre des débits de l'ordre de 8 à 16 Mbps Le port ECP (Enhanced Capabilities Port, port à capacités améliorées), mis au point par Hewlett Packard et Microsoft. Il reprend les caractéristiques du port EPP en lui ajoutant un support Plug and Play, c'està-dire la possibilité pour l'ordinateur de reconnaître les périphériques branchés Les ports parallèles sont, comme les ports série, intégrés à la carte mère. Les connecteurs DB25 permettent de connecter un élément extérieur (une imprimante par exemple). Utilisation de l objet Mscomm (communication série) Implémenter dans une feuille un bouton de commande (Name= CmdEnvoi, Caption=Envoi) et l objet Mscomm1(Name=Mscom) 1. Configuration du port : Pour configurer le port série il faut écrire un code qui permet de spécifier le numéro du port, sa vitesse de transmission, ) Voici un code pour une configuration simple du port de communication série. Ecrire le code suivant dans la procédure form load de la feuille principale : Mscom.Comport=1 Mscom.settings= "9600, n, 8, 1" Mscomm.PortOpen=True 31

Utilisez le fichier Help pour explorer les autres fonctionnalités de l objet MsCom. 2. Liaison avec un instrument de mesure : Exercice (Projet) : Nous nous proposons dans cette partie de réaliser un diapositif asservit pour la caractérisation courant-tension d une jonction PN ou NP. Utilisez les appareils TTi 1906 et la source QL564P Voir le manuel pour les instructions de commande. Faire le montage (à vérifier avec votre enseignant) Concevoir le programme Manuels de références Mc Millan Ed. 2008, Initiation à la programmation sous Visula Basic. Site Web : http://www.ib-formation.fr Livre: Visual Basic 6.0 : Guide du programmeur, Édition : Dunod ISBN10 : 2100072331 (2003) 32