Formation Visual Basic .net, tutoriel & guide de travaux pratiques en pdf.
Tableaux
Un tableau permet de stocker une suite d’éléments de même type. L’accès à un élément précis se fait à l’aide d’un indice (valeur ou variable entière). En VB, pour un vecteur déclaré avec une dimension (N), le premier élément a l’indice 0, le deuxième a l’indice 2, le troisième a l’indice 3, …, le dernier a l’indice N1.
Syntaxe
Dim NomVecteur(N) As TypeVecteur
Cette instruction déclare un vecteur NomVecteur de taille N+1. Pour accéder au ième élément du vecteur, il faut préciser l’indice entre parenthèses comme suit : NomVecteur(i-1), i doit être compris dans l’intervalle [0, N].
TypeVecteur est un type standard (Boolean, Integer, String, etc.) ou tout autre type (type d’objet) définie dans VB ou dans votre application.
VB permet de travailler avec des tableaux de deux, trois, quatre, dimensions ou plus
Exemple d’un tableau à deux dimensions:
Dim ExempleMatrice(10, 10) As Single
ExempleMatrice est une matrice (de nombres réels) de 11 lignes et 11 colonnes et où ExempleMatrice(1, 9) est l’élément se trouvant à l’intersection de la première ligne et de la dixième colonne 2.
Exemple de déclaration d’un tableau à trois dimensions:
Dim ExempleMatrice(10, 10, 10) As Single ‘ matrice à trois dimensions
Instructions répétitives
Les instructions répétitives sont utilisées pour boucler sur une suite d’instructions.
For … To … Next
Si le nombre de boucles est connu à l’avance, on utilise l’instruction For … To … Next. Syntaxe
For Compteur = Début To Fin [Step Incrément]
Instructions ‘ pour une interruption préalable de la boucle
[ … Exit For]
[Instructions] ‘ le mot Compteur est facultatif
Next [Compteur]
Le test (Compteur = Début) est effectué au début de la boucle. La variable numérique Compteur est incrémentée à chaque fin de boucle du nombre indiqué par l’incrément. Si l’Incrément (le pas par lequel Compteur augmente à chaque boucle) n’est pas spécifié, il est fixé par défaut à 1.
Si la valeur de Fin est inférieure à la valeur de Début , l’incrément est négatif. La valeur de Compteur peut être utilisée (par exemple, pour numéroter le passage dans la boucle) mais ne doit pas être modifiée dans le corps de la boucle.
Exemple
Dim i As Integer
Dim Chaîne As String
Dim TabInitial(1 To 12) As Single
For i = 1 To 12
Chaîne = InputBox(« Température N° » & Compteur)
2 Aussi, pour éviter toute confusion (et garder vos bonnes habitudes Pascal), déclarez toujours la matrice avec une dimension N*N et ignorez la ligne et la colonne à l’indice 0.
TabInitial(i) = Chaîne
Next i ‘le i n’est pas obligatoire
Do While … Loop / Do … Loop While …
Test antérieur
Syntaxe
Do While Condition
Instructions
[… Exit Do]
[Instructions]
Loop
La condition est ici testée au début, c’est-à-dire à l’entrée de la boucle. Avec While (tant que), la boucle est répétée tant que la condition est vraie. Si la condition n’est pas vraie au départ, les instructions de la boucle ne sont pas exécutées.
Exemple
Do While MotProposé <> MotDePasse
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop
Cela présuppose que MotProposé soit initialisé par une valeur autre que MotDePasse (par exemple, la valeur par défaut « »).
Test postérieur
Syntaxe
Do
Instructions
[… Exit Do]
[Instructions]
Loop While Condition
La condition est alors testée à la fin de la boucle. Avec While (tant que), la boucle est répétée tant que la condition est vraie. Les instructions de la boucle sont donc exécutées au moins une fois.
Exemple
Do
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop While MotProposé <> MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
Do Until … Loop / Do … Loop Until …
Test antérieur
Syntaxe
Do Until Condition
Instructions
[… Exit Do]
[Instructions]
Loop
La condition est ici testée au début, c’est-à-dire à l’entrée de la boucle. Avec Until (jusqu’à), la boucle est répétée jusqu’à ce que la condition soit vraie. Si la condition est vraie au départ, les instructions de la boucle ne sont pas exécutées.
Exemple
Do Until MotProposé = MotDePasse
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop
Cela présuppose que MotProposé soit initialisé par une valeur autre que MotDePasse (par exemple, la valeur par défaut « »).
Test postérieur
Syntaxe
Do
Instructions
[… Exit Do]
[Instructions]
Loop Until Condition
La condition est alors testée à la fin de la boucle. Les instructions de la boucle sont donc exécutées au moins une fois. Avec Until (jusqu’à), la boucle est répétée jusqu’à ce que la condition soit vraie.
Exemple
Do
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop Until MotProposé = MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
For … Each … Next
C’est une extension de la boucle For … To … Next.
Syntaxe
For Each Elément In Ensemble
Instructions
[ … Exit For]
[Instructions]
Next [Elément]
Ensemble est le plus souvent un tableau.
Exemple
Dim TabHasard(100) As Integer
Dim Cellule As Integer
Dim Réponse As String ‘initialise le générateur de nombres au hasard
Randomize
For Each Cellule In TabHasard ‘génère un nombre au hasard entre 1 et 100
Cellule = Rnd * 100 + 1
Next
For Each Cellule In TabHasard
Réponse = Réponse & Cellule & » » ‘Concaténation de chaînes de caractères
Next
MsgBox (Réponse)
Conclusion
Selon le problème à traiter, vous aurez le choix entre ces différentes structures de contrôle. Il s’agira de choisir la plus élégante ou du moins, celle qui ne provoquera pas de dysfonctionnement de votre programme.
Trouvez les erreurs dans les exemples suivants :
Exemple 1:
Dim VotreRéponse As String
Réponse = « LaRéponse »
Do
VotreRéponse = InputBox(« Donnez votre réponse »)
Loop While VotreMot = Réponse
Exemple 2
Dim Cote As Single
Do Until Cote >= 0 And Cote <= 20
Cote = InputBox(« Taper une note entre 0 et 20 »)
Loop
Procédures et fonctions
Comme dans le cas du langage Pascal, VB .NET permet l’utilisation des procédures et des fonctions avec ou sans paramètres. Rappelez vous que la grande différence entre la procédure et la fonction est que cette dernière retourne une valeur lorsqu’elle est appelée.
Lors de l’appel de la procédure, un paramètre peut être transmis soit par valeur, soit par référence (variable).
Procédure (Transmission par valeur : ByVal)
Pour transmettre un paramètre par valeur, celui-ci doit être obligatoirement précédé par le mot réservé ByVal. Sinon, il est considéré de passer par référence.
Syntaxe
Private Sub NomProcédure( ByVal argument As Type, … )
Instruction1
Instruction2
…
End Sub
Exemple
Private Sub Affectation( ByVal valeur1,valeur2 As integer)
Dim Chaîne As String
Chaîne = « La somme de » & valeur1 & » et » & valeur2 & » = »
valeur1 = valeur1 + valeur2
Chaîne = Chaîne & valeur1
MsgBox (Chaîne)
End Sub
L’appel de la procédure se fait soit en inscrivant call suivi du nom de la procédure, et des paramètres à lui transmettre, soit en écrivant uniquement le nom de la procédure, suivi des paramètres à lui transmettre.
Dim X As integer
Dim Y As integer Y) ‘ avec les parenthèses
Call Affectation (X,
MsgBox ( » Et X = » & X & » n’a pas changé « )
Procédure (Transmission par référence : ByRef)
Si ByVal n’est pas précisé ou si le paramètre est précédé par le mot réservé ByRef, la variable est transmise par référence (c’est-à- dire transmise en tant que variable). Ainsi, toute modification de la variable locale correspondante dans la procédure se répercute sur la variable utilisée lors de l’appel. VB suppose que la transmission se fait par référence si le mot réservé ByVal est omis.
Exemple
Private Sub Transvase ( valeur1 As Integer, valeur2 As Integer )
Dim variable As Integer
variable = valeur1
valeur1 = valeur2
valeur2 = variable
End Sub
L’appel suivant transvase le contenu de X dans Y et inversement.
Exemple
Dim X As Integer, Y As Integer
X=100
Y=200
MsgBox ( » X = » & X & » et Y = » & Y)
Transvase(X, Y)
MsgBox ( » Alors que maintenant X = » & X & » et Y = » & Y)
Fonction
Lors de la déclaration d’une fonction, la valeur qui doit être retournée par celle-ci doit être affectée au nom de la fonction. La déclaration de la fonction se termine par les mots réservés ”End function”.
Syntaxe
Private function NomFonction( Argument As Type, … ) As Type Instruction1
Instruction2
…
NomFonction = RésultatDeLaFonction
End function
Exemple
Private function Somme( valeur1 As Integer, valeur2 As Integer ) As integer Somme = Valeur1 + valeur2
End function
L’appel suivant retourne la somme de X et Y et affecte le résultat à la variable Z.
Exemple
Dim X As Integer, Y As Integer, Z As Integer
X=10
Y=20
Z = somme(X, Y)
Transmission d’un tableau comme argument d’une procédure ou d’une fonction
Pour transmettre un tableau comme argument d’une fonction ou d’une procédure, il suffit de déclarer (à l’intérieur des parenthèses) une variable (le nom local du tableau) sans type, ni dimension. Lors de l’appel de la fonction ou de la procédure, VB donne à cette variable le type et la taille du tableau envoyé. On peut aussi utiliser comme type de la variable locale, le type Variant. Comme tout variable, un tableau peut être envoyé par valeur ou par référence.
Ci-après vous trouvez un exemple de déclaration d’une procédure qui reçoit un vecteur (passation par référence: par défaut).
Exemple
Private Sub Init(vec) ‘ ou Private Sub init(vec As Variant)
Dim i As Integer
For i = 1 To 10
vec(i) = 0
Next
End Sub
L’appel de la procédure avec un vecteur comme argument se fait comme pour toute variable.
Exemple
Dim vecteur(10) As Integer
Call Init(vecteur)
Portée des variables, procédures et fonctions
Une application VB peut être composée d’un ou de plusieurs formulaires et d’un ou de plusieurs modules. Dans chaque module ou formulaire, des variables, des procédures et/ou des fonctions peuvent être déclarées. Dans chaque procédure et fonction, des variables locales peuvent être déclarées.
Une fonction ou une procédure peut être déclarée soit Privée (Private), soit Publique (Public). Le sens de Privé ou Public se comprend par rapport au formulaire ou au module dans lesquelles elles sont déclarées.
Se pose alors le problème de la portée des variables, des fonctions et des procédures.
Si une variable est déclarée au début de la procédure (fonction) qui la manipule (Dim ou Private), elle n’est alors valide que pour cette procédure (fonction). L’existence et la valeur de la variable disparaissent avec l’instruction End Sub (End Function). Toute référence à cette variable en dehors de cette procédure (fonction) provoquera une erreur de compilation. Si une variable est déclarée dans la section des déclarations d’un module (formulaire), elle est valide dans toutes les procédures (fonctions) du module (formulaire).
Une variable peut aussi être déclarée Public ou Global et sera alors valide pour toute l’application.
Exemple :
Global MotInitial As String ‘ premier mot à traiter
Le tableau qui suit résume la portée des variables, des procédures et des fonctions en fonction du type de déclaration (Dim, Private ou Public) et de l’endroit où la déclaration a eu lieu.
INTRODUCTION A L’ENVIRONNEMENT DE DEVELOPPEMENT VB
La programmation en Visual Basic (VB) se fait principalement (comme le nom du langage l’indique) de manière visuelle. Vous serez cependant souvent amenés à (mettre la main à la pâte et) programmer en écrivant du code VB.
VB est avant tout un environnement de développement d’applications informatiques. VB (entre autres) offre:
• un environnement graphique de développement permettant de développer visuellement une grande partie de votre application. Voir figure 1
• un langage de programmation orienté objet (voir plus loin le concept d’objet)
• des composants logiciels (ActiveX) ou des librairies (pré-programmées) très puissants et prêts à être intégrés et utilisés dans votre application. On verra par la suite qu’une grande partie de votre apprentissage de VB consistera à apprendre l’utilisation de ces composants logiciels (contrôles)
• la possibilité d’intégrer aisément de nouveaux composants ActiveX développés dans le commerce
• une grande facilité pour développer de nouveaux composants ActiveX
VB est devenu grâce à ces atouts un langage de programmation très utilisé de par le monde, supplantant un grand nombre de langages de programmation.
Pour rentrer dans le vif du sujet, nous allons regarder de quoi sera composée votre application (programme) VB. Celle-ci sera composée, entre autres, de deux parties essentielles: un ou plusieurs formulaires (la partie visuelle ou graphique) et le code VB (des formulaires et modules).
Environnement VB
Formulaires (Forms)
La partie visuelle de votre application ou projet est composée principalement d’UN ou de PLUSIEURS formulaires (Forms). Un formulaire n’est rien d’autre qu’une fenêtre (Window). Les figures 1 et 2 présentent des exemples de formulaires.
Section 1 : Introduction à Visual Basic .NET – Structures de base
1.1 Variable et opérations arithmétiques
1.1.1 Notion de Variable
1.1.2 Opérateurs arithmétiques
1.2 Instructions conditionnelles
1.2.1 If … Then … Else … End If
1.2.2 IIf (Condition, ValeurSiVrai, ValeurSiFaux)
1.2.3 Select case … Case … Case …Else Case … End Select
1.3 Tableaux
1.4 Instructions répétitives
1.4.1 For … To … Next
1.4.2 Do While … Loop / Do … Loop While …
1.4.3 Do Until … Loop / Do … Loop Until …
1.4.4 For … Each … Next
1.4.5 Conclusion
1.5 Procédures et Fonctions
1.5.1 Procédure (Transmission par valeur : ByVal)
1.5.2 Procédure (Transmission par référence : ByRef)
1.5.3 Fonction
1.5.5 Portée des variables, procédures et fonctions
1.5.6 Quelques fonctions globales
1.5.7 Interruption de séquences
Section 2. Introduction à l’environnement de développement VB
2.1 Environnement VB
2.1.1 Formulaires (Forms)
2.1.2 L’explorateur des solutions
2.1.3 La fenêtre Properties
2.1.4 La boîte à outils et les contrôles standards
2.2 Programmation par événements
2.3 Exercices
Section 3. Les contrôles
3.1 Concept d’objet
3.2 Contrôles standards
3.2.1 La propriété “Name”
3.2.2 Label
3.2.3 TextBox
3.2.4 RadioButton
3.2.5 CheckButton
3.2.7 GroupBox
3.2.8 Exercices
3.2.9 ListBox
3.2.10 ComboBox
3.2.11 La propriété Items
3.2.12 Exercices
3.2.13 Solution
3.2.14 L’éditeur de menus
3.2.14 L’éditeur de menus
4. Les Bases de Données
4.1 Notion de Table
4.2 Notion de Base de Données
4.3 Création d’une base de données Access