Exercices et Travaux Pratiques

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

Transcript of Exercices et Travaux Pratiques

Page 1: Exercices et Travaux Pratiques

1

Université des Sciences et Technologies

U.S.T.H.B.

Faculté de Physique

Destiné aux étudiants en Master et Licence (L3)

Auteurs :

Dr. N. BENREKAA « Maitre de Conférences A »

Dr. N. HAINE « Maitre de Conférences A »

Mr. C. GUERBI « Maitre Assistant A »

Initiation à la programmation orientée objet et l’asservissement d’instruments

MANUEL PÉDAGOGIQUE

Page 2: Exercices et Travaux Pratiques

2

Exercices et Travaux pratiques

Page 3: Exercices et Travaux Pratiques

3

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.

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.

Etape1 : implémentation visuelle

Page 4: Exercices et Travaux Pratiques

4

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

Arrêter le programme en appuyant sur

Etape2 : écriture du code

Page 5: Exercices et Travaux Pratiques

5

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 : "

End Sub

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.

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.

Etape 3 : amélioration du programme

Page 6: Exercices et Travaux Pratiques

6

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

Page 7: Exercices et Travaux Pratiques

7

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

Page 8: Exercices et Travaux Pratiques

8

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

Page 9: Exercices et Travaux Pratiques

9

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

Page 10: Exercices et Travaux Pratiques

10

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

Page 11: Exercices et Travaux Pratiques

11

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)

Page 12: Exercices et Travaux Pratiques

12

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 ?

Page 13: Exercices et Travaux Pratiques

13

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 ?

Page 14: Exercices et Travaux Pratiques

14

- 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

End Sub

Private Sub CmdGo_Click()

Timer1.Enabled = True

End Sub

Private Sub CmdStop_Click()

Timer1.Enabled = False

Close #1

End Sub

Private Sub Timer1_Timer()

Text1.Text = Val(Text1.Text) + 1

Print #1, Text1.Text

Page 15: Exercices et Travaux Pratiques

15

End Sub

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

Page 16: Exercices et Travaux Pratiques

16

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 txtX

Text4 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 :

Page 17: Exercices et Travaux Pratiques

17

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

----------------------------------------------------------------------------

Page 18: Exercices et Travaux Pratiques

18

Private Sub ChkVerr_Click()

If ChkVerr.Value = 1 Then

txtinterval.Locked = True

Else

txtinterval.Locked = False

End If

End Sub

-----------------------------------------------------

Private Sub Cmdexit_Click()

End

Close #1

End Sub

-----------------------------------------------------

Private Sub CmdGo_Click()

CommonDialog1.Action = 2

Open CommonDialog1.FileName For Output As #1

End Sub

----------------------------------------------------------------------------

Private Sub Optarret_Click()

Timer1.Enabled = False

End Sub

----------------------------------------------------------------------------

Private Sub Optmarche_Click()

Timer1.Enabled = True

End Sub

----------------------------------------------------------------------------

Private Sub Timer1_Timer()

Timer1.Interval = Val(txtinterval.Text)

txtcomp.Text = Val(txtcomp.Text) + 1

Page 19: Exercices et Travaux Pratiques

19

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)

End Sub

----------------------------------------------------------------------------

Private Sub VScroll1_Change()

txtinterval.Text = VScroll1.Value

End Sub

----------------------------------------------------------------------------

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 feui lle)

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)

Page 20: Exercices et Travaux Pratiques

20

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

Page 21: Exercices et Travaux Pratiques

21

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

End Sub

Private Sub CmdStop_Click()

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

TxtTimeR = t0 - Val(TxtTime.Text)

End Sub

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

Page 22: Exercices et Travaux Pratiques

22

Feuille 1 (Form 1) Feuille 2 (Form 2) Module 1

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

Private Sub Command2_Click()

Timer1.Enabled = False

End Sub

Private Sub Command3_Click()

Form2.Show

End Sub

Private Sub Command4_Click()

End

End Sub

Private Sub Form_Load()

comp = 0

End Sub

Private Sub Timer1_Timer()

comp = comp + 1

a = comp

b = Sin(comp / 5)

Call Trace(a, b)

End Sub

Private Sub Command1_Click()

Form2.Hide

End Sub

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

End With

End Sub

Page 23: Exercices et Travaux Pratiques

23

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 :

Page 24: Exercices et Travaux Pratiques

24

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

Page 25: Exercices et Travaux Pratiques

25

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

Page 26: Exercices et Travaux Pratiques

26

'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

End Sub

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,

Page 27: Exercices et Travaux Pratiques

27

' 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

Page 28: Exercices et Travaux Pratiques

28

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

Page 29: Exercices et Travaux Pratiques

29

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ée-

sortie (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,

Page 30: Exercices et Travaux Pratiques

30

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 :

Page 31: Exercices et Travaux Pratiques

31

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

Page 32: Exercices et Travaux Pratiques

32

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)