0% ont trouvé ce document utile (0 vote)
152 vues49 pages

Programmation d'applications Desktop en VB.Net

Cours d'initiation au vbnet

Transféré par

adonisbalanganayi4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
152 vues49 pages

Programmation d'applications Desktop en VB.Net

Cours d'initiation au vbnet

Transféré par

adonisbalanganayi4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

evacson-soft

Programmation des applications desktop

Notes de cours

Evariste TUBAJIKE KABUYA


01/05/2024

Apprendre à développer les applications desktop grâce au langage de programmation Visuel [Link]
Chapitre I. CONCEPTS DE LA PROGRAMMATION DESKTOP

I.1. Introduction

Une application Desktop est une solution de bureau ou un logiciel CRM1, qu’une entreprise
peut utiliser pour échanger en interne des données, informations et fichiers. Les unités
centralisées sont ainsi optimisées.

Un tout nouveau framework appelé Windows Forms (connu sous le nom de WinForms) pour
le développement d'applications a été choisi. Ensuite, une application vérifiée, développée et
performante a pris la place de cette nouvelle solution de bureau. C’était il y a plus de 20 ans.

Le temps est passé et .NET Framework 2.0 n'est plus une nouvelle technologie à la mode, ce
qui pose de nombreux problèmes aux développeurs travaillant dessus. Ils veulent utiliser les
dernières tendances dans leur développement et rendre leurs applications plus modernes.

En parallèle, ils ne veulent pas laisser tomber l'excellent produit qu'ils développent depuis de
nombreuses années et refaire l'intégralité de l'application à nouveau.

I.2. Définition et usage

Une application bureautique est un programme qui s'exécute sur un seul ordinateur, sans
avoir besoin d’accéder à Internet ou à un réseau privé. Parmi les multiples points forts
d’un logiciel CRM ; la rapidité, la fiabilité et la stabilité. Cela n’empêche qu’un point faible
pas moins important est à connaître. Il s’agit de sa portabilité.

En effet, cette application doit être installée dans chaque ordinateur désirant l’utiliser. Il ne
faut pas oublier non plus les problèmes de compatibilité avec le système d'exploitation.
D'autre part, il est possible d'utiliser les applications desktop pour un usage interne. Ainsi, si
vous voulez installer une application spécialisée afin de gérer les ressources humaines de la
société, ce type d'application répond à vos besoins spécifiques.

Antérieurement à l'avènement d'Internet, les logiciels CRM étaient la manière première de


systèmes logiciels. Ainsi, les concepteurs pouvaient opter pour le langage de programmation
qui leur convient, notamment COBOL, Fortran, VB6 ou C.

En revanche, lorsqu'ils développent les gadgets ou les architectures partagées complexes, ce


sont toutes des applications de desktop. Ensuite, la technologie Internet choque la
communauté des créateurs et attire plus d'ingénieurs avec ses avantages comme qu'une mise
en œuvre facile et un système de partage simplifié.

Il suffit que le logiciel CRM soit mis dans l'environnement de production, tous les usagers
recevront des mises à jour systématiques, ce qui a un effet majeur sur l'agilité du logiciel. Par
1
(Customer Relationship Management) une stratégie de gestion des entreprises avec les clients ou un client potentiel.
Le CRM fait généralement référence à un outil utilisé pour la gestion de contacts, des ventes, la productivité et plus
encore.
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 2
ailleurs, les apps web devaient avoir les mêmes prestations et fonctions des apps de bureau.
C’était le but durant leur création Les applications desktop devancent de loin
les applications web en matière d'efficacité et de performances. Cela montre la raison pour
laquelle des millions de créateurs utilisent WPF et WinForms pour créer leurs projets et
pourquoi le nombre de ces applications ne cesse de croître.

I.3. Particularités d’une application desktop

Les applications desktop présentes des particularités suivantes :

 Les interactions meilleures et des performances pour les calculs complexes plus
poussées que celles des applications Web
 Il est possible d'exécuter une logique personnalisée côté client, mais c'est beaucoup
plus difficile pour les applications Web.
 Coder et tester des algorithmes facilement est possible, sans avoir besoin de configurer
l'infrastructure de serveur

La fonction de débogage étant puissante, il est tout à fait possible de consulter à tout moment
les périphériques matériels. Vu que cette technologie existe depuis un certain temps,
beaucoup d'experts et bases de connaissances sont disponibles pour développer
des applications desktop.

I.4. Application de bureau vs Application Web : Quels sont les avantages et les
inconvénients ?

Aujourd’hui, face à la multitude d’outils numériques disponibles sur le marché, il faut se


demander : quelle est la différence entre une application de bureau et une application web ?
Quels sont les avantages et les inconvénients de chaque option ? Dans cet article, nous allons
analyser en détail les caractéristiques de l’application de bureau ainsi que celles de
l’application web. De plus, nous examinerons le système d’exploitation, le stockage et la
virtualisation ; Microsoft et ses solutions pour les entreprises et postes de travail ; la mise à
jour des applications natifs, les fonctionnalités proposées par le navigateur web et le
développement adapté aux besoins des appareils connectés à Internet.

Qu’est-ce qu’une application de bureau et une application web ?

Une application de bureau (appelé aussi application native ou « bureau ») est un


programme installé sur un poste de travail qui ne dépend pas d’un navigateur pour
fonctionner. Une application de bureau est conçue spécifiquement à des fins prédéterminées,
par exemple le traitement de texte Microsoft Word ou la suite bureautique iWork.

Une application web est une application qui fonctionne via un navigateur Web et n’a pas
besoin d’être installée sur un ordinateur. Les applications Web sont généralement conçues
pour être utilisées avec des systèmes d’exploitation et des appareils différents, ce qui permet

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 3
aux utilisateurs de les utiliser à partir d’un ordinateur, d’une tablette ou d’un smart phone au
lieu d’être liés à un seul type de poste de travail.

Définition et différences entre une application de bureau et une application web

Les principales différences entre les applications de bureau et les applications Web sont
leurs modes d’installation et leurs capacités. Les applications natives doivent être
téléchargées, installées et mis à jour sur chaque ordinateur individuellement, alors que les
applications web peuvent être stockées sur des serveurs distants et peuvent être consultés
depuis n’importe quel type de poste de travail en ligne.
Les applications natives ont tendance à être beaucoup plus puissants car ils sont conçus pour
fonctionner avec un système d’exploitation particulier. Par exemple, Microsoft Office
fonctionne mieux sur Windows que sur Mac OSX.
Les applications web doivent cependant s’adapter à tous types de systèmes d’exploitation, ce
qui réduit souvent leurs fonctionnalités.

Exemples des applications de bureau et d’applications web

Les exemples courants des applications natifs comprennent Microsoft Office, Adobe Creative
Suite, Final Cut Pro et Garageband pour Mac. Les exemples courants d’applications Web
incluent Google Apps tels que Gmail, Google Docs et Google Calendar; Spotify; Facebook;
Amazon; eBay; Dropbox; Twitter; YouTube; Skype; WhatsApp et Instagram.

Quels sont les avantages et les inconvénients des applications de bureau et des
applications web ?

Avantage des applications de bureau

Le principal avantage d’application native est la performance accrue due à son intégration
directe avec le système d’exploitation. Les applications natives sont généralement plus
rapides et peuvent être conçues pour exploiter pleinement le matériel et les fonctionnalités du
système d’exploitation, ce qui permet de créer des applications hautement personnalisables.

Avantage des applications web

Les principaux avantages des applications Web sont la flexibilité et la facilité d’utilisation.
Puisque les applications Web ne nécessitent aucune installation sur un poste de travail
individuel, elles peuvent être utilisées depuis n’importe quel type de poste de travail en ligne
à l’aide d’un navigateur supportant JavaScript.
Cela signifie que vous pouvez accéder aux mêmes applications depuis votre ordinateur, votre
tablette ou votre smart phone.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 4
Inconvénients des applications de bureau

L’inconvénient principal des applications de bureau est qu’ils doivent être installés sur
chaque ordinateur individuellement, ce qui demande du temps, et doivent souvent être mis à
jour manuellement afin de bénéficier des nouvelles fonctionnalités ou correctifs. En outre, ils
sont généralement liés à un seul système d’exploitation et ne seront pas toujours pris en
charge par tous les appareils.

Inconvénients des applications web

Le principal inconvénient des applications Web est leurs performances limitées due au fait
qu’elles doivent s’adapter à tous types de systèmes d’exploitation et d’appareils. Elles sont
généralement considérablement moins puissantes que les applications de bureau car elles
doivent fonctionner avec une plate-forme Web commune plutôt qu’avec un système
d’exploitation spécifique.

Quelle est la meilleure solution pour votre entreprise ?

Quels sont les besoins de votre entreprise ?

Avant de choisir entre une application de bureau et une application web, vous devrez
déterminer quels sont vos besoins spécifiques en matière technologique. Des éléments
importants à prendre en compte incluent :

 La compatibilité avec différents appareils.


 Le type et le nombre de postes de travail dont votre entreprise a besoin.
 Le type de support technique requis.
 La disponibilité des mises à jour.
 La force et la rapidité du stockage.
 Le niveau d’intégration avec les outils informatiques existants.

Quel type de logiciel ou d’application est le mieux adapté à votre entreprise ?

Vous devez également prendre en compte quel type de logiciel ou d’application est le mieux
adapté à vos besoins. Les applications natives sont la meilleure option pour des applications
hautement personnalisables, performantes et intégrées, tandis que les applications Web sont
une solution pratique pour les petites entreprises qui ne disposent pas des ressources
suffisantes pour maintenir un réseau de postes de travail interconnectés.

Quelles sont les fonctionnalités dont vous avez besoin ?

Selon vos besoins spécifiques, vous devrez également déterminer quelles fonctionnalités sont
importantes pour vous. Par exemple, si vous avez besoin d’un stockage puissant et rapide,
une application native peut être la meilleure option car il est conçu pour exploiter pleinement
le matériel et les fonctionnalités du système d’exploitation.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 5
Chapitre II. PRESENTATION DU LANGAGE DE PROGRAMMATION [Link]

II.1. Introduction

[Link] est un langage récent. Il a été disponible en versions beta depuis l’année 2000 avant
d’être officiellement disponible en février 2002 en même temps que la plate-forme .NET de
Microsoft à laquelle il est lié. [Link] ne peut fonctionner qu’avec cet environnement
d’exécution, environnement disponible pour le moment que sur les machines Windows NT,
2000 et XP.
Avec la plate-forme .NET, trois nouveaux langages sont apparus : C#, [Link],
[Link]. C# est largement une « copie » de Java. [Link] et [Link] sont des
extensions de Visual basic et Jscript pour la plate-forme .NET. Celle-ci rend disponible aux
programmes qui s’exécutent en son sein un ensemble très important de classes, classes très
proches de celles que l’on trouve au sein des machines virtuelles Java. En première
approximation, on peut dire que la plate-forme .NET est un environnement d’exécution
analogue à celui d'une machine virtuelle Java. On peut noter cependant deux différences
importantes :

 la plate-forme .NET ne s'exécute que sur les machines Windows alors que Java
s'exécute sur différents OS (windows, unix, macintosh).
 la plate-forme .NET permet l'exécution de programmes écrits en différents langages. Il
suffit que le compilateur de ceux-ci sache produire du code IL (Intermediate
Language), code exécuté par la machine virtuelle .NET. Toutes les classes [Link]
sont disponibles aux langages compatibles .NET ce qui tend à gommer les différences
entre langages dans la mesure où les programmes utilisent largement ces classes. Le
choix d'un langage .NET devient affaire de goût plus que de performances.
De la même façon que Java ne peut être ignoré, la plate-forme .NET ne peut l'être, à la fois à
cause du parc très important de machines windows installées et de l'effort fait par Microsoft
pour la promouvoir et l'imposer. Il semble que C# soit un bon choix pour démarrer avec
.NET, notamment pour les programmeurs Java, tellement ces deux langages sont proches.
Ensuite on pourra passer aisément de C# à [Link] ou à un autre langage .NET. La syntaxe
changera mais les classes .NET resteront les mêmes. Contrairement aux apparences, le
passage de VB à [Link] est difficile. VB n'est pas un langage orienté objets alors que
[Link] l'est complètement. Le programmeur VB va donc être confronté à des concepts qu'il
ne maîtrise pas. Il paraît plus simple d'affronter ceux-ci en oubliant ce qu'on sait de VB.
Aussi, nous ne faisons que peu référence à VB dans la suite.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 6
II.2. Les données de [Link]

Nous traitons [Link] d'abord comme un langage de programmation classique. Nous


aborderons les objets ultérieurement. Dans un programme on trouve deux choses
- des données
- les instructions qui les manipulent
On s'efforce généralement de séparer les données des instructions :
+---------------------+
¦ DONNEES ¦
+-----------------------¦
¦ ¦
¦INSTRUCTIONS¦
¦ ¦
+---------------------------------------+

[Link] utilise les types de données suivants:


1. les nombres entiers, réels et décimaux
2. les caractères et chaînes de caractères
3. les booléens
4. les dates
5. les objets
II.2.1. Les types de données prédéfinis

Type VB Type .NET Taille Plage de valeurs


équivalent
Boolean [Link] 2 octets True ou False.
Byte [Link] 1 octet 0 à 255 (non signés).
Char [Link] 2 octets 0 à 65 535 (non signés).
Date [Link] 8 octets [Link] le 1er janvier 0001 à [Link] le 31 décembre
9999.
Decimal [Link] 16 0 à +/-79 228 162 514 264 337 593 543 950 335 sans
octets décimale ; 0 à +/-
7,9228162514264337593543950335 avec 28
décimales ; le plus petit nombre différent de zéro étant
+/-0,0000000000000000000000000001 (+/-1E-28).
Double [Link] 8 octets -1,79769313486231E+308 à
-4,94065645841247E-324 pour les valeurs négatives ;
4,94065645841247E-324 à 1,79769313486231E+308
pour les valeurs positives.
Integer System.Int32 4 octets -2 147 483 648 à 2 147 483 647.
Long System.Int64 8 octets -9 223 372 036 854 775 808 à 9 223 372 036 854 775
807.
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 7
Object [Link] 4 octets N'importe quel type peut être stocké dans une variable
de type Object.
Short System.Int16 2 octets -32 768 à 32 767.
Single [Link] 4 octets -3,402823E+38 à -1,401298E-45 pour les valeurs
négatives ; 1,401298E-45 à 3,402823E+38 pour les
valeurs positives.
String [Link] 0 à environ 2 milliards de caractères Unicode.
(classe)
Dans le tableau ci-dessus, on découvre qu'il y a deux types possibles pour un entier sur 32 bits
: Integer et System.Int32. Les deux types sont interchangeables. Il en est de même pour les
autres types VB et leurs équivalents dans la plate-forme .NET.

II.2.2. Déclaration des données

Rôle des déclarations


Un programme manipule des données caractérisées par un nom et un type. Ces données sont
stockées en mémoire. Au moment de la traduction du programme, le compilateur affecte à
chaque donnée un emplacement en mémoire caractérisé par une adresse et une taille. Il le fait
en s'aidant des déclarations faites par le programmeur. Par ailleurs celles-ci permettent au
compilateur de détecter des erreurs de programmation. Ainsi l'opération x=x*2 sera déclarée
erronée six est une chaîne de caractères par exemple.

Déclaration des constantes


La syntaxe de déclaration d'une
constante est la suivante :
const identificateur as type=valeur

par exemple [const PI as double=3.141592]. Pourquoi


déclarer des constantes ?
1. La lecture du programme sera plus aisée si l'on a donné à la constante un nom significatif
: [const taux_tva as single=0.186F]
2. La modification du programme sera plus aisée si la "constante" vient à changer. Ainsi
dans le cas précédent, si le taux de tva passe à 33%, la seule modification à faire sera de
modifier l'instruction définissant sa valeur : [const taux_tva as single=0.336F]. Si l'on
avait utilisé 0.186 explicitement dans le programme, ce serait alors de nombreuses
instructions qu'il faudrait modifier.

Déclaration des variables


Une variable est identifiée par un nom et se rapporte à un type de données. [Link] ne
fait pas la différence entre majuscules et minuscules. Ainsi les variables FIN et fin sont
identiques. Les variables peuvent être initialisées lors de leur déclaration. La syntaxe de
déclaration d'une ou plusieurs variables est :
dim variable1,variable2,...,variablen as identificateur_de_type

où identificateur_de_type est un type prédéfini ou bien un type défini par le programmeur.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 8
La conversion d'une chaîne vers un nombre peut échouer si la chaîne ne représente pas un
nombre valide. Il y a alors génération d'une erreur fatale appelée exception en [Link].
Cette erreur peut être gérée par la clause try/catch suivante :
II.2.3. Les tableaux de données

Un tableau [Link] est un objet permettant de rassembler sous un même identificateur des
données de même type. Sa déclaration est la suivante :

Dim Tableau(n) as type ou Dim Tableau() as type=New type(n) {}

où n est l'indice du dernier élément de tableau. La syntaxe Tableau(i) désigne la donnée n° i où


i appartient à l'intervalle [0,n]. Toute référence à la donnée Tableau(i) où i n'appartient pas à
l'intervalle [0,n] provoquera une exception. Un tableau peut être initialisé en même temps que
déclaré. Dans ce cas, on n'a pas besoin d'indiquer le n° du dernier élément.

Dim entiers() As Integer = {0, 10, 20, 30}

Les tableaux ont une propriété Length qui est le nombre d'éléments du tableau. Voici un programme
exemple :

Module tab0 Sub Main()


' un premier tableau
Dim tab0(5) As Integer

For i As Integer = 0 To
UBound(tab0) tab0(i) =
i

Next
For i As Integer = 0 To UBound(tab0)
[Link]("tab0(" + [Link] + ")=" + tab0(i).tostring)
Next

' un second tableau

Dim tab1() As Integer = New Integer(5) {}

For i As Integer = 0 To
[Link] - 1 tab1(i)
= i * 10

Next
For i As Integer = 0 To [Link] - 1

[Link]("tab1(" + [Link] +
")=" + tab1(i).tostring) Next

End Sub
End Module

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 9
Et son exécution :
tab0(0)=0
tab0(1)=1
tab0(2)=2
tab0(3)=3
tab0(4)=4
tab0(5)=5
tab1(0)=0
tab1(1)=10
tab1(2)=20
tab1(3)=30
tab1(4)=40

Un tableau à deux dimensions pourra être déclaré comme suit :


Dim Tableau(n,m) as Type ou Dim Tableau(,) as Type=New Type(n,m) {}

où n+1 est le nombre de lignes, m+1 le nombre de colonnes. La syntaxe Tableau(i,j) désigne
l'élément j de la ligne i de Tableau. Le tableau à deux dimensions peut lui aussi être initialisé
en même temps qu'il est déclaré :

Dim réels(,) As Double = {{0.5, 1.7}, {8.4, -6}}

Le nombre d'éléments dans chacune des dimensions peut être obtenue par la méthode
GetLenth(i) où i=0 représente la dimension correspondant au 1er indice,

i=1 la dimension correspondant au 2ième indice, …Voici un programme d'exemple :

Module Module2

Sub Main()

' un premier tableau


Dim tab0(2, 1) As Integer
For i As Integer = 0 To UBound(tab0)

For j As Integer = 0 To [Link](1) - 1 tab0(i, j) = i * 10 + j

Next
Next
For i As Integer = 0 To UBound(tab0)
For j As Integer = 0 To [Link](1) - 1

[Link]("tab0(" + [Link] + "," + [Link] +


")=" + tab0(i, j).tostring) Next

Next

' un second tableau

Dim tab1(,) As Integer = New Integer(2, 1) {} For i


As Integer = 0 To [Link](0) - 1

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 10
For j As Integer = 0 To [Link](1) - 1 tab1(i, j) = i
* 100 + j

Next

Next

For i As Integer = 0 To [Link](0) - 1

For j As Integer = 0 To [Link](1) - 1

[Link]("tab1(" + [Link] + "," + [Link] +


")=" + tab1(i, j).tostring) Next

Next

Next

End Module

Et les résultats de son exécution :


tab0(0)=0
tab0(1)=1
tab0(2)=2
tab0(3)=3
tab0(4)=4
tab0(5)=5
tab1(0)=0
tab1(1)=10
tab1(2)=20
tab1(3)=30
tab1(4)=40
tab1(5)=50

Un tableau de tableaux est déclaré comme suit :

Dim Tableau(n)() as Type ou Dim Tableau()() as Type=new Type(n)()

La déclaration ci-dessus crée un tableau de n+1 lignes. Chaque élément Tableau(i) est une
référence de tableau à une dimension. Ces tableaux ne sont pas créés lors de la déclaration ci-
dessus. L'exemple ci-dessous illustre la création d'un tableau de tableaux :
' un tableau de tableaux

Dim noms()() As String = New


String(3)() {} ' initialisation

For i = 0 To [Link] - 1
noms(i) = New String(i)
{}

Ici noms(i) est un tableau de i+1 éléments. Comme noms(i) est un tableau, noms(i).Length est
son nombre d'éléments. Voici un exemple regroupant les trois types de tableaux que nous
venons de présenter :

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 11
' directives Option
Strict On Option Explicit
On

' imports

Imports System

' classe de test

Module test Sub main()


' un tableau à 1 dimension initialisé

Dim entiers() As
Integer = {0, 10, 20,
30} Dim i As Integer

For i = 0 To [Link] - 1
[Link]("entiers[" & i &
"]=" & entiers(i))

Next

' un tableau à 2 dimensions initialisé

Dim réels(,) As Double = {{0.5,


1.7}, {8.4, -6}} Dim j As
Integer

For i = 0 To
ré[Link](0)
- 1 For j = 0 To
ré[Link](1)
- 1

[Link]("réels[" & i & "," & j &


"]=" & réels(i, j)) Next

Next
' un tableau°de tableaux
Dim noms()() As String = New String(3)() {}

' initialisation

For i = 0 To [Link]°- 1 noms(i) =°New String(i)


{}

For j = 0 To
noms(i).Length - 1
noms(i)(j) = "nom" & i
& j

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 12
Next

Next

' affichage

For i = 0 To [Link]°- 1
For j = 0 To noms(i).Length - 1

[Link]("noms[" & i & "][" & j &


"]=" & noms(i)(j)) Next

Next
End Sub
End Module

A l'exécution, nous obtenons les résultats suivants :

entiers[0]=0

entiers[1]=10

entiers[2]=20

entiers[3]=30

réels[0,0]=0,

5 réels[0,1]=1,7

réels[1,0]=8,

4 réels[1,1]=-6 noms[0][0]=nom00 noms[1][0]=nom10 noms[1]


[1]=nom11 noms[2][0]=nom20 noms[2][1]=nom21 noms[2]
[2]=nom22 noms[3][0]=nom30 noms[3][1]=nom31 noms[3]
[2]=nom32 noms[3][3]=nom33

II.2.4. Affectation de la valeur d'une expression à une variable

On s'intéresse ici à l'opération variable=expression. L'expression peut être de type :


arithmétique, relationnelle, booléenne, caractères.

Liste des opérateurs

Action Élément du langage


Arithmétique ^, –, *, /, \, Mod, +, =
Assignation =, ^=, *=, /=, \=, +=, -=, &=
Comparaison =, <>, <, >, <=, >=, Like, Is, &, +
Concaténation Not, And, Or, Xor, AndAlso,
Opérations logiques/de bits OrElse AddressOf, GetType

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 13
Opérations diverses ^, –, *, /, \, Mod, +,=

Expression arithmétique

Les opérateurs des expressions arithmétiques sont les suivants :

+ : addition, - : soustraction, * : multiplication, / : division réelle, \ : quotient de division


entière, Mod : reste de la divion entière, ^: élévation à la puissance. Ainsi le programme
suivant :

' opérateurs
arithmétiques
Module
operateursarith
metiques Sub
Main()

Dim i, j As Integer i =
4 : j = 3

[Link](i & "/" & j & "=" & (i / j))


[Link](i & "\" & j & "=" & (i \ j))
[Link](i & " mod " & j & "=" & (i Mod j))

Dim r1, r2 As Double r1 = 4.1 : r2 = 3.6

[Link](r1 & "/" & r2 &


"=" & (r1 / r2))
[Link](r1 & "^2=" & (r1
^ 2))
[Link]([Link](3))

End Sub

End Module

Donne les résultats suivants :


4/3=1,33333333333333

4\3=1

4 mod 3=1 4,1/3,6=1,13888888888889

4,1^2=16,81

-0,989992496600445

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 14
II.2.5. Priorités dans l'évaluation des expressions arithmétiques

La priorité des opérateurs lors de l'évaluation d'une expression arithmétique est la suivante (du
plus prioritaire au moins prioritaire) :

Catégorie Oprérateurs
Primaire Toutes les expressions sans opérateur : fonctions,
parenthèses
Élévation à la puissance ^
Addition, Négation unaire +, -
Multiplication, Division par un *, /
entier
Modulo \Mod

Expressions relationnelles

Les opérateurs sont les suivants :

Comparaison =, <>, <, >, <=, >=, Like, Is

= : égal à,
<> : différent de,
< : plus petit que (strictement),
> : plus grand que (strictement),
<= : inférieur ou égal,
>= : supérieur ou égal,
Like : correspond à un modèle,
Is : identité d'objets.

Tous ces opérateurs ont la même priorité. Ils sont évalués de la gauche vers la droite. Le
résultat d'une expression relationnelle un booléen.
Comparaison de chaînes de caractères : considérons le programme suivant :

' espaces de noms

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 15
Imports System

Module string1 Sub main()

Dim ch1 As Char = "A"c

Dim ch2 As Char = "B"c

Dim ch3 As Char = "a"c

[Link]("A<B=" & (ch1 < ch2))

[Link]("A<a=" & (ch1 < ch3))

Dim chat As String = "chat"

Dim chien As String = "chien"

Dim chaton As String = "chaton" Dim chat2 As String = "CHAT"

[Link]("chat<chien=" & (chat < chien))


[Link]("chat<chaton=" & (chat < chaton))
[Link]("chat<CHAT=" & (chat < chat2))
[Link]("chaton like chat*=" & ("chaton" Like "chat*"))

End Sub

End Module

Et le résultat de son exécution :

A<B=True

A<a=True

chat<chien=True

chat<chaton=True

chat<CHAT=False

chaton like chat*=True

Soient deux caractères C1 et C2. Il est possible de les comparer avec les opérateurs : <,
<=, =, <>, >, >=. Ce sont alors leurs valeurs Unicode des caractères, qui sont des
nombres, qui sont comparées. Selon l'ordre Unicode, on a les relations suivantes :
espace < .. < '0' < '1' < .. < '9' < .. < 'A' < 'B' < .. < 'Z' < .. < 'a' < 'b' < .. <'z'

Les chaînes de caractères sont comparées caractère par caractère. La première inégalité
rencontrée entre deux caractères induit une inégalité de même sens sur les chaînes. Avec ces
explications, le lecteur est invité à étudier les résultats du programme précédent.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 16
Expressions booléennes
Les opérateurs sont les suivants :
Opérations logiques/de bits Not, And, Or,

Xor, AndAlso, OrElse Not : et logique, Or :


ou logique, Not : négation, Xor : ou exclusif.
op1 AndAlso op2 : si op1 est faux, op2 n'est pas évalué et le résultat est faux.
op1 OrElse op2 : si op1 est vrai, op2 n'est pas

évalué et le résultat est vrai. La priorité de ces

opérateurs entre-eux est la suivante :

NOT logique Not

AND logique And, AndAlso

OR logique Or, OrElse

XOR logique Xor

Le résultat d'une expression booléenne est un booléen.

II.3. Structures de choix

II.3.1. Structure de choix simple

if condition then
actions_alors else actions_sinon

end if

 chaque action est sur une ligne


 la clause else peut être absente.
On peut imbriquer les structures de choix comme le montre l'exemple suivant :

' options

Option Explicit On

Option Strict On

' espaces de noms

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 17
Imports System

Module if1 Sub main()

Dim i As Integer = 10 If i > 4


Then

[Link](i & " est > " & 4) Else

If i = 4 Then

[Link](i & " est = " & 4) Else

[Link](i & " est < " & 4)

End If

End If

End Sub

End Module

Le résultat obtenu :
10 est > 4

II.3.2. Structure de cas

La syntaxe est la suivante :

select case
expression
case
liste_valeurs1
actions1
case
liste_valeurs2
actions2
...
case else
actions_sinon
end select

 le type de [expression] doit être l'un des types suivants :

Boolean, Byte, Char, Date, Decimal, Double, Integer, Long, Object, Short, Single et
String

 la clause [case else] peut être absente.


 [liste_valeursi] sont des valeurs possibles de l'expression. [listes_valeursi]
représente une liste de conditions condition1, condition2, ..., conditionx. Si

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 18
[expression] vérofie l'une des conditions, les actions derrière la clause
[liste_valeursi] sont exécutées. Les conditions peuvent prendre la forme suivante :
- val1 to val2 : vrai si [expression] appartient au domaine [val1,val2]
- val1 : vrai si [expression] est égal à val1
- is > val1 : vrai si [expression] > val1. Le mot clé [is] peut être absent
- idem avec les opérateurs =, <, <=, >, >=, <>
 seules les actions liées à la première condition vérifiée sont exécutées.
Considérons le programme suivant :
' options

Option Explicit On

Option Strict On

' espaces de noms


Imports System

Module selectcase1 Sub main()

Dim i As Integer = 10

Select Case i

Case 1 To 4, 7 To 8

[Link]("i est dans l'intervalle [1,4] ou


[7,8]") Case Is > 12

[Link]("i est > 12") Case Is < 15

[Link]("i est < 15") Case Is < 20

[Link]("i est < 20") End Select

End Sub
End Module

Il donne les résultats suivants :

i est < 15

II.3.3. Structure de répétition

Nombre de répétitions connu

For counter [ As datatype ] = start To end [ Step step


]

actions

Next [ counter ]

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 19
Les actions sont effectuées pour chacune des valeurs prises par la variable [counter].
Considérons le programme suivant :
' options

Option Explicit On

Option Strict On

' espaces de noms

Imports System

Module for1 Sub main()

Dim somme As Integer = 0


Dim résultat As String = "somme("

For i As Integer = 0
To 10 Step 2 somme += i

résultat += " " +


[Link] Next

résultat += ")=" + [Link]


[Link](résultat)

End Sub
End Module

Les résultats :

somme( 0 2 4 6 8 10)=30

Une autre structure d'itération à nombre d'itérations connu est la suivante :

For Each element [ As datatype ] In


groupe
[ actions ]
Next [ element ]

 groupe est une collection d'objets. La collection d'objets que nous connaissons déjà est le
tableau
 datatype est le type des objets de la collection. Pour un tableau, ce serait le type des
éléments du tableau
 element est une variable locale à la boucle qui va prendre successivement pour valeur,
toutes les valeurs de la collection.
Ainsi le code suivant :

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 20
' options

Option Explicit On

Option Strict On

' espaces de noms


Imports System

Module foreach1 Sub main()

Dim amis() As String = {"paul", "hélène", "jacques", "sylvie"} For Each nom As
String In amis

[Link]
iteLine(nom)
Next

End Sub
End Module

afficherait :
paul

hélène

jacques

sylvie

Nombre de répétitions inconnu


Il existe de nombreuses structures en [Link] pour ce cas.

Do { While | Until } condition


[ statem
ents ]
Loop
On boucle tant que la condition est vérifiée (while) ou jusqu'à ce que la condition soit
vérifiée (until). La boucle peut ne jamais être exécutée.

Do
[ statements ]
Loop { While | Until } condition

On boucle tant que la condition est vérifiée (while) ou jusqu'à ce que la condition soit
vérifiée (until). La boucle est toujours exécutée au moins une fois.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 21
While condition
[ statements ]
End While

On boucle tant que la condition est vérifiée. La boucle peut ne jamais être exécutée. Les
boucles suivantes calculent toutes la somme des 10 premiers nombres entiers.
' options

Option Explicit

On Option Strict On

' espaces de noms


Imports System

Module boucles1 Sub main()

Dim i, somme As Integer i = 0


: somme = 0

Do While i < 11 somme += i

i += 1
Loop

[Link]("somme=" + [Link]) i = 0 : somme = 0

Do Until i = 11 somme += i

i += 1
Loop

[Link]("somme=" + [Link]) i = 0 : somme =


0

Do

somme += i i += 1

Loop Until i = 11

[Link]("somme=" + [Link]) i = 0 : somme =


0

Do

somme += i i += 1

Loop While i < 11

[Link]("somme=" + [Link])

End Sub

End Module

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 22
II.4. La structure d'un programme [Link]
Un programme [Link] n'utilisant pas de classe définie par l'utilisateur ni de fonctions
autres que la fonction principale Main
pourra avoir la structure suivante :
' options
Imports ....
Option
Module Explicit On
nomDuModule
Option Strict On
Sub main()
' espaces de noms
....
Imports
End Sub espace1
End
Module

 La directive [Option Explicit on] force la déclaration des variables. En [Link],


celle-ci n'est pas obligatoire. Une variable non déclarée est alors de type Object.
 La directive [Option Strict on] interdit toute conversion de types de données
pouvant entraîner une perte de données et toute conversion entre les types
numériques et les chaînes. Il faut alors explicitement utiliser des fonctions de
conversion.
 Le programme importe tous les espaces de noms dont il a besoin. Nous n'avons pas
introduit encore cette notion. Nous avons, dans les programmes précédents, souvent
rencontré des instructions du genre :
[Link](unechaine)

Nous aurions du écrire en fait :


[Link](unechaine)

où System est l'espace de noms contenant la classe [Console]. En important l'espace de


noms [System] avec une instruction Imports, [Link] l'explorera systématiquement
lorsqu'il rencontrera une classe qu'il ne connaît pas. Il répétera la recherche avec tous les
espaces de noms déclarés jusqu'à trouver la classe recherchée. On écrit alors :

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 23
Un exemple de programme pourrait être le suivant :
' options

Option Explicit On

Option Strict On

'espaces de noms

Imports System

' module principal

Module main1 Sub main()

[Link]("main1") End Sub

End Module

Le même programme peut être écrit de la façon suivante :


' options

Option Explicit On

Option Strict On

'espaces de noms

Imports System

' classe de test

Public Class

main2

Public Shared Sub main()

[Link]("main2")

End Sub

End Class

Ici, nous utilisons le concept de classe qui sera introduit au chapitre suivant. Lorsqu'une
telle classe contient une procédure statique (shared) appelée main, celle-ci est exécutée.
Si nous introduisons cette écriture ici, c'est parce que le langage jumeau de [Link]
qu'est C# ne connaît que le concept de classe, c.a.d. que tout code exécuté appartient
nécessairement à une classe. La notion de classe appartient à la programmation objet.
L'imposer dans la conception de tout programme est un peu maladroit. On le voit ici
dans la version 2 du programme précédent où on est amené à introduire un concept de
classe et de méthode statique là où il n'y en a pas besoin. Aussi, par la suite,

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 24
n'introduirons-nous le concept de classe que lorsqu'il est nécessaire. Dans les autres cas,
nous utiliserons la notion de module comme dans la version 1 ci-dessus.

II.5. Compilation et exécution d'un programme [Link]

La compilation d'un programme [Link] ne nécessite que le [Link]. Prenons le


programme suivant :
' options

Option Explicit On

Option Strict On

' espaces de noms


Imports System

Module boucles1

Sub main()

Dim i, somme As Integer

i = 0 : somme = 0

Do While i < 11

somme += i

i += 1
Loop

[Link]("somme=" + [Link]) i = 0 : somme = 0

Do Until i = 11

somme += i

i += 1
Loop

[Link]("somme=" + [Link]) i = 0 : somme =


0

Do

somme += i

i += 1

Loop Until i = 11

[Link]("somme=" + [Link]) i = 0 : somme = 0

Do

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 25
somme += i

i += 1

Loop While i < 11

[Link]("somme=" + [Link])

End Sub

End Module

Supposons qu'il soit dans un fichier appelé [[Link]]. Pour le compiler, nous
procédons ainsi :

dos>dir [Link]
11/03/2004 15:55
583 [Link]

dos>vbc [Link]

Compilateur Microsoft (R) Visual Basic .NET version


7.10.3052.4 pour Microsoft (R) .NET Framework version
1.1.4322.573

Copyright (C) Microsoft Corporation 1987-2002. Tous droits


réservés.

dos>dir boucles1.* 601 [Link]


11/03/2004 16:04
3 584 [Link]
11/03/2004 16:04

Le programme [Link] est le compilateur [Link]. Ici, il était dans le PATH du DOS :
dos>path

PATH=E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;E:\Program


Files\Microsoft Visual Studio .NET 2003\VC7\BIN;E:\Program Files\Microsoft Visual
Studio .NET 2003\Common7\Tools;E:\Program Files\Microsoft Visual Studio .NET 2003\
dos>dir E:\WINNT\[Link]\Framework\v1.1.4322\[Link]
Common7\Tools\bin\prerelease;E:\Program Files\Microsoft Visual Studio .NET 2003\
21/02/2003 10:20 737 280 [Link]
Common7\Tools\bin;E:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\
bin;E:\WINNT\[Link]\Framework\v1.1.4322;e:\winnt\system32;e:\winnt;

Le compilateur [vbc] produit un fichier .exe exéutable par la machine virtuelle .NET :
dos>boucle
s1 somme=55
somme=55
somme=55
somme=55
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 26
Chapitre 3 CREATION D’UN PROGRAMME EN [Link]

3.1. Prise de main de l’environnement Visuel Studio 2012

3.1.1. Visuel Studio qu’est-ce ?

Visual Studio est un outil de développement puissant qui permet d’effectuer l’ensemble du
cycle de développement au même endroit. Il s’agit d’un environnement de développement
intégré (IDE) complet permettant d’écrire, de modifier, de déboguer et de générer du code.
Ensuite, déployez votre application. Visual Studio comprend des compilateurs, des outils de
complétion de code, un contrôle de code source, des extensions et de nombreuses autres
fonctionnalités qui améliorent chaque étape du processus de développement logiciel.

Grâce aux nombreux langages et fonctionnalités pris en charge dans Visual Studio, vous
pouvez passer de l’écriture de votre premier programme « Hello World » au développement
et au déploiement d’applications. Par exemple, générez, déboguez et testez des
applications .NET et C++, modifiez des pages [Link] dans la vue du concepteur web,
développez des applications mobiles et de bureau multiplateformes avec .NET, ou créez des
interfaces utilisateur web réactives en C#.

Pour installer Visual Studio, sélectionnez le bouton suivant, puis choisissez l’édition de
Visual Studio à télécharger.

3.1.2. Pourquoi utiliser Visual Studio ?

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 27
Visual Studio fournit aux développeurs un environnement de développement riche en
fonctionnalités pour développer du code de haute qualité de manière efficace et collaborative.

 Programme d’installation basé sur une charge de travail : installez uniquement ce dont
vous avez besoin
 Outils et fonctionnalités de codage puissants : tout ce dont vous avez besoin pour créer
vos applications au même endroit
 Prise en charge de plusieurs langages : codez en C++, C#, JavaScript, TypeScript,
Python, etc.
 Développement multiplateforme : créez des applications pour n’importe quelle
plateforme
 Intégration de la gestion de version : collaborez sur du code avec des collègues de votre
équipe
 Développement assisté par l’IA – écrire du code plus efficacement avec l’aide de l’IA

Étant donné que Visual Studio 2012 Professional prend en charge plusieurs nouvelles
technologies (par exemple, les applications Windows Store et l'API Web [Link]), l'équipe
Visual Studio semble avoir saisi l'occasion pour se concentrer sur la création d'un « meilleur
IDE ». Elle a ainsi commencé par remanier l'interface utilisateur. Bien que ce remaniement de
l'interface utilisateur de Visual Studio 2012 ne soit pas aussi radical que celui réalisé par
Microsoft sur les applications Windows Store, il implique des modifications importantes.
Cela ne signifie en aucun cas que le nombre d'améliorations ne concernant pas l'interface
utilisateur soit limité, mais nous allons commencer par nous intéresser à la raison de ces
modifications.

Le « meilleur IDE » de Visual Studio 2012 se concentre sur trois objectifs afin de vous aider
à être plus productif : un affichage plus clair, des tâches courantes simplifiées et une
convivialité améliorée. Alors que la nouvelle interface utilisateur monochrome et l'utilisation
des majuscules dans les menus de niveau supérieur ont suscité le plus d'attention, d'autres
modifications plus importantes passent inaperçues. Par exemple, le nombre de barres d'outils
par défaut qui apparaissent lorsque Visual Studio passe d'un mode à l'autre a été nettement
réduit dans Visual Studio 2012 (voir la figure 1). L'affichage est ainsi plus clair, et sur le plan
pratique, cela permet surtout d'avoir quelques lignes de code supplémentaires à l'écran. Il
n'est plus nécessaire de faire défiler vers le haut et vers le bas aussi souvent qu'auparavant et
les développeurs peuvent ainsi voir plus facilement « toute la méthode », ce qui simplifie une
tâche très courante : l'écriture de code. Cette modification peut sembler futile, mais elle est
caractéristique de l'orientation choisie pour la plupart des modifications apportées à
Visual Studio 2012.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 28
3.1.3. Accès au code

L'accès au code est une fonctionnalité clé de la nouvelle expérience proposée par
Visual Studio 2012. Par exemple, si le bouton d'aperçu est sélectionné, votre première
réaction en cliquant sur un fichier de l'Explorateur de solutions sera peut-être de penser que
Visual Studio 2012 ouvre désormais les fichiers avec un clic simple plutôt qu'un double-clic.
Cependant, lorsque vous effectuez un clic simple sur un fichier de code, vous voyez en fait un
aperçu du fichier (vous pouvez vous en rendre compte grâce à l'onglet de la fenêtre qui
apparaît également à droite de l'onglet). Si vous effectuez un clic simple sur un autre fichier
de l'Explorateur de solutions, l'aperçu existant disparaît et celui du nouveau fichier s'affiche.
Toutefois, si vous modifiez un fichier dont l'aperçu est affiché, l'onglet passe à gauche et le
fichier reste ouvert en mode d'édition.

Mais vous perdrez votre temps si vous tentez de rechercher du code en cliquant sur chaque
fichier. En effet, les nouvelles options de recherche/filtre situées en haut de certaines des
fenêtres d'outils offrent une méthode nettement plus efficace de rechercher ce dont vous avez
besoin. J'en veux pour preuve la zone de texte de recherche dans la solution située en haut de
l'Explorateur de solutions. Cette zone vous permet de rechercher des noms de fichier et
surtout des noms de membre dans tous les projets de la solution (bien que cela ne soit pas
possible avec les projets de site Web [Link]). Vous n'avez plus besoin d'ouvrir une
nouvelle fenêtre pour rechercher du texte. Cela permet d'obtenir un affichage plus clair et de
simplifier une tâche courante.

Toujours dans la même optique d'avoir un affichage plus clair tout en améliorant la
convivialité, l'Explorateur de solutions combine désormais, avec la fenêtre de recherche, les
fonctionnalités de l'affichage de classes à l'affichage classique des fichiers de l'Explorateur de

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 29
solutions. Vous avez ainsi la possibilité de parcourir les membres individuellement au sein de
vos fichiers (voir la figure 2). Le nouveau bouton d'accueil, situé en haut de l'Explorateur de
solutions, vient compléter cette fonctionnalité. Il permet de restaurer la liste standard des
fichiers dans l'Explorateur de solutions.

Le lancement rapide (qui apparaît à droite de la barre de menus) me semble moins utile. Il
recherche les ressources Visual Studio plutôt que celles des projets. Si vous recherchez des
menus ou des options Visual Studio par mot clé, le lancement rapide vous permet de trouver
l'élément Visual Studio correspondant et d'y accéder directement. À ce stade, j'ignore à quelle
fréquence j'aurai besoin d'utiliser cette fonctionnalité, mais le fait qu'elle existe m'encouragera
peut-être à le faire plus souvent.

3.1.4. IntelliSense

IntelliSense continue à développer ses paramètres de recherche afin de faciliter la recherche


de classes et de membres. Au fur et à mesure que vous tapez, Intellisense ne se contente pas
de retrouver n'importe quelle partie d'un mot, mais également les lettres majuscules des noms
de classes et de membres, et ce de façon sélective. Par exemple, si vous tapez « oc » dans un
fichier .aspx, une liste IntelliSense contenant OutputCache apparaît.

CSS est fourni avec IntelliSense dans cette version et les développeurs Web vont découvrir
que cette fonctionnalité reconnaît les nouvelles balises HTML5. Les développeurs [Link]
reçoivent également une assistance lorsqu'ils entrent des expressions de liaison. Les
développeurs SharePoint qui créent des solutions bac à sable (sandbox) vont constater une
réduction de la taille de leurs listes ; aucun élément appartenant uniquement aux batteries de
serveurs ne sera répertorié comme code dans les solutions bac à sable (sandbox).

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 30
C'est toutefois JavaScript qui bénéficie le plus de l'assistance apportée par IntelliSense.
Visual Studio 2012 intègre désormais automatiquement les commentaires JavaScript dans
l'assistance IntelliSense pour les fonctions et variables JavaScript. Si vous utilisez des
commentaires XML dans votre code JavaScript, vous disposez de nouvelles options
permettant de générer l'assistance IntelliSense pour les fonctions surchargées.
Visual Studio 2012 s'essaie même à l'utilisation d'IntelliSense pour les fichiers de script
chargés dynamiquement. Si vous sélectionnez une fonction JavaScript et que vous appuyez
sur F12 (ou si vous sélectionnez la fonction d'accès à la définition dans un menu contextuel),
vous accédez au fichier contenant la fonction (cela ne s'applique pas au code généré).
Toutefois, l'utilité de l'assistance pour JavaScript est inégale. En effet, lorsque
Visual Studio 2012 ne peut pas déterminer le type de données d'une variable, IntelliSense se
contente de donner une liste de chaque entité JavaScript disponible.

3.1.5. Développeurs [Link] et [Link] MVC

Les développeurs [Link] MVC apprécieront les nouveaux modèles de projet qui prennent
en charge la création d'applications mobiles (dont les bibliothèques mobiles jQuery) et les
applications prenant en charge l'API Web [Link]. Un autre type de projet prend en charge
l'application à une page côté client de Microsoft, qui intègre plusieurs API JavaScript (le
formidable modèle MVVM [Model-View-ViewModel]/la bibliothèque de liaison de données,
l'API d'historique HTML5 et la bibliothèque Upshot de Microsoft pour gérer les objets
téléchargés) afin de prendre en charge la création d'applications AJAX. Si le choix fait par
Microsoft d'utiliser les bibliothèques JavaScript vous convient (et ces bibliothèques sont un
bon choix), vous n'aurez plus besoin d'assembler vos propres morceaux du puzzle
technologique en partant de zéro.

Visual Studio 2012 peut désormais mettre en forme automatiquement le code JavaScript pour
le Web et les développeurs SharePoint. Si vous procédez différemment pour la mise en forme
JavaScript, vous devrez soit désactiver cette fonctionnalité dans Outils | Options, soit revoir
vos attentes.

Visual Studio 2012 prend en charge les nouvelles balises HTML5 et la page [Link]
[Link] comprend même des balises de section. Les développeurs peuvent cesser de forcer
l'utilisation des balises <span> et <div>, et avoir recours aux classes CSS partagées pour
identifier la structure de leur page et commencer à utiliser des balises dédiées à cette tâche.
IntelliSense pour les balises HTML plus anciennes prend en charge les nouveaux attributs
HTML5 (dont les attributs de données personnalisés et les attributs d'accessibilité ARIA
[Accessible Rich Internet Applications]). Vous devez bien évidemment supposer que le
navigateur reconnaîtra ces nouveaux attributs et nouvelles balises.

3.1.6. Inspecteur de page

Le débogage constitue le principal changement pour les développeurs Web. Vous pouvez
toujours appuyer sur F5 pour déboguer vos applications [Link] et [Link] MVC, mais
une nouvelle liste déroulante disponible dans la barre d'outils de débogage vous permet de
basculer aisément d'un navigateur à l'autre car elle répertorie tous les navigateurs installés sur
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 31
votre ordinateur. Mais l'inspecteur de page est la véritable cerise sur le gâteau de cette liste. Il
va en effet changer la façon dont les développeurs Web pourront résoudre les problèmes
qu'ils rencontrent sur leurs pages.

Le processus de débogage type d'une page [Link] est composé de sept étapes : ouvrez la
page dans le navigateur, si vous voyez quelque chose d'anormal, émettez une hypothèse sur le
problème, fermez le navigateur, appliquez le correctif, ouvrez à nouveau la page dans le
navigateur et vérifiez si le problème a disparu. L'inspecteur de page court-circuite tout ce
processus puisqu'il suffit de cliquer avec le bouton droit de la souris sur une page
(.aspx, .cshtml ou vbhtml) dans l'Explorateur de solutions, puis de sélectionner l'option
d'affichage dans l'inspecteur de page. Visual Studio 2012 se reconfigure ensuite en plusieurs
nouveaux volets et affiche votre page telle qu'elle est rendue dans le navigateur avec le fichier
source que vous avez sélectionné, une vue de l'arborescence du HTML envoyé au navigateur
et une vue interactive de la CSS appliquée à votre page, tout cela en direct (voir la figure 3).

À mesure que vous déplacez le curseur d'un endroit à un autre dans la vue du navigateur, les
volets HTML et CSS sont mis à jour de façon à vous montrer ce qui contribue à l'affichage
dans le navigateur. Bien que le fichier source ne soit pas modifié afin de s'adapter à votre
navigateur, la source peut être mise à jour. Si vous modifiez la source, la vue du navigateur
est rafraîchie de façon à afficher les résultats de la modification. Dans la vue CSS, vous
pouvez désactiver les règles ou, si vous cliquez sur une règle, passer au fichier CSS contenant
celle-ci. Une fois dans ce fichier, si vous modifiez la règle, la page s'affiche à nouveau de
façon à montrer le résultat de la modification.

Cette solution est loin d'être parfaite. En effet, la vue est surchargée (même sur un écran
17 pouces) et l'inspecteur de page semble rencontrer des difficultés avec le positionnement
dans les feuilles de style (mais il est probablement préférable d'éviter le positionnement

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 32
absolu de toute façon). Malgré ces inconvénients, l'inspecteur de page est l'un de ces outils
dont je ne pourrai plus me passer.

3.1.6. Tests

Si les développeurs Web obtiennent des améliorations dans le domaine du débogage, chacun
bénéficie de la prise en charge améliorée pour le développement axé sur des tests. L'ancienne
fenêtre de résultat de test a été remplacée par un nouvel Explorateur de tests (voir
la figure 4), disponible à partir de Test | Windows, qui centralise la plupart des activités de
développement axé sur des tests. L'Explorateur de tests répertorie le statut de tous vos tests
depuis le dernier cycle de test, dont la durée de chaque test (ce qui vous donne un aperçu de
l'endroit où se situent les goulots d'étranglement des performances). Cliquez sur un test ayant
échoué dans l'Explorateur de tests pour afficher les informations le concernant en bas de
l'Explorateur de tests. Double-cliquez sur un test dans l'Explorateur de tests pour atteindre le
code correspondant afin de commencer la session de débogage. Si la liste de tests devient très
longue, vous pouvez la filtrer par mot clé. L'Explorateur de tests regroupe désormais tous les
tests ayant échoué au lieu de les mélanger à d'autres tests. En outre, il affiche tous les tests
marqués avec l'attribut Ignore au lieu de les ignorer en silence.

L'Explorateur de tests offre également une nouvelle option d'exécution des tests. Celle-ci
permet d'exécuter tous les tests n'ayant pas encore été exécutés. Au départ, tous les tests
commencent dans la catégorie des tests non exécutés puis, au fur et à mesure des exécutions
qui prouvent que le nouveau code fonctionne, certains tests finissent pas passer dans la
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 33
catégorie des exécutions réussies. Une fois que vous avez prouvé que votre nouveau code
fonctionne, vous pouvez choisir l'exécution des tests non exécutés, quels qu'ils soient, afin de
vérifier que vous n'avez pas introduit de nouvelles erreurs dans l'ancien code. L'Explorateur
de tests illustre également comment certaines tâches courantes ont été simplifiées tout en
rendant l'affichage plus clair dans l'interface utilisateur.

Malheureusement, la modification la plus importante dans le cadre des tests est uniquement
disponible dans Visual Studio 2012 Ultimate. Il s'agit de l'exécution automatique des tests
après chaque build. Les versions Ultimate et Premium comprennent également la prise en
charge de la couverture du code de test (ce qui vous permet de voir quelles lignes de code
n'ont pas été testées) mais, dans le meilleur des cas, l'intérêt de cet outil me semble plutôt
douteux (certains développeurs professionnels ne sont pas d'accord).

3.1.7. Une interface utilisateur repensée

Beaucoup de choses ont été dites sur l'affichage plus clair de l'interface utilisateur de
Visual Studio 2012, à tel point que Microsoft a ajouté des couleurs entre les versions bêta et
RC. En règle générale, une interface utilisateur est conçue de façon à donner une apparence
identique à des éléments similaires (par exemple, tous les éléments de menu doivent se
ressembler, au même titre que tous les boutons) et une apparence différente à des éléments
différents (cela signifie que les boutons et les éléments de menu doivent avoir l'air différent).
La version Visual Studio 2012 RC semble avoir atteint un équilibre « suffisant » en ce qui
concerne l'apparence appropriée (et évidente) des éléments qui doivent être identiques et
différents. Il sera intéressant de voir si, dans quelques années, les développeurs
commenceront à considérer que les versions précédentes de Visual Studio étaient
« voyantes ».

Bien que le jeu de couleurs de l'interface utilisateur ait fait l'objet d'un certain nombre de
discussions, la décision de Microsoft d'utiliser uniquement des majuscules pour les éléments
de menu de niveau supérieur afin de faire ressortir le menu au milieu de toute la pagaille des
barres d'outils a fait couler bien plus d'encre. Plusieurs études ont montré que des lecteurs
adultes reconnaissaient en partie les mots en raison de la forme des jambages ascendants (d, b
et f) et descendants (g et y) lorsque les mots sont imprimés en majuscules et minuscules
mélangées. En revanche, si uniquement des majuscules sont utilisées, tous les mots ont la
même forme, à savoir rectangulaire. Dans Visual Studio 2012, toutefois, vous ne pouvez pas
véritablement dire que les développeurs « lisent » lorsqu'ils accèdent à un menu. Étant donné
que la position des éléments de menu est fixe (Fichier, Édition, Affichage, Fenêtre, Aide), les
développeurs retrouvent probablement les menus autant grâce à leur position que grâce au
texte véritable de ces éléments.

Les utilisateurs expérimentés sont toujours décontenancés par une modification, mais le
véritable impact du tout en majuscules sera sur les nouveaux utilisateurs. Le fait que chaque
élément de menu soit moins facilement reconnaissable permettra-t-il d'augmenter l'habileté
des utilisateurs avec la souris ?

En attendant, diverses manipulations du Registre et extensions de Visual Studio 2012 ont été
publiées afin de permettre aux développeurs d'afficher les éléments de menu de niveau
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 34
supérieur en majuscules et en minuscules. Une option de la version finale de
Visual Studio 2012 devrait faire le bonheur de tous.

3.1.8. Blend pour Visual Studio... et les applications Windows Store

Une partie de la prise en charge de la création d'applications Windows Store comprend le


pack Blend pour Visual Studio et Visual Studio 2012. Toutefois, Blend est en option et vous
devrez donc sélectionner l'option d'installation personnalisée afin de l'inclure dans votre
installation de Visual Studio 2012. Étrangement, alors que Blend prend en charge XAML et
Windows Presentation Foundation (WPF), il n'est disponible depuis Visual Studio 2012 que
pour le développement des applications Windows Store.

Bien que Blend soit fourni avec Visual Studio 2012, il est difficile de dire qu'il est
véritablement intégré à Visual Studio 2012. Cliquez avec le bouton droit de la souris sur un
fichier d'interface utilisateur dans une application Windows Store pour choisir l'option
permettant de l'ouvrir dans Blend. Lorsque vous sélectionnez cette option, Blend est ouvert
dans une nouvelle fenêtre. Heureusement, Blend récupère la liste des fichiers de votre projet
afin que vous puissiez modifier ces derniers sans avoir besoin de retourner dans
Visual Studio 2012 (en fait, si vous revenez dans Visual Studio 2012, vous obtenez un
message indiquant qu'un fichier a été mis à jour en dehors de Visual Studio pour les fichiers
ayant été modifiés par Blend). Les fichiers ajoutés à votre projet dans Blend sont ajoutés au
projet Visual Studio 2012. Mais vous devez rester prudent lorsque vous passez d'une fenêtre à
l'autre : vous pouvez en effet passer à une solution différente dans Visual Studio 2012 sans
que Blend s'en rende compte ou y prête attention. Cela étant dit, Blend vous permet de faire
un grand nombre de choses du point de vue graphique et sans lui, vous seriez obligé de
travailler directement avec XAML.

3.1.9. Les moniteurs multiples, le débogage, Windows Azure et SharePoint.

Mais ce n'est pas tout, bien évidemment. Vous pouvez dissocier des fenêtres de
Visual Studio 2012, puis les ancrer les unes aux autres (Microsoft qualifie ce procédé de
« raft »). Vous pouvez ensuite faire glisser le raft jusqu'à la position, ou jusqu'au moniteur, de
votre choix. Les fenêtres de débogage sont nettement plus adaptées aux threads et vous
permettent d'indiquer ceux qui vous intéressent afin de n'afficher qu'eux.

Les développeurs Windows Azure obtiennent une meilleure intégration entre le Portail de
gestion de la plateforme Windows Azure et Visual Studio 2012. Il suffit de quelques clics
pour transférer une application [Link] MVC dans le cloud et vous n'aurez plus besoin de
quitter Visual Studio pour utiliser le portail de gestion Windows Azure. Toutefois, les
développeurs Windows Azure ne trouveront pas tout ce dont ils ont besoin dans
Visual Studio 2012 Professional. Pour copier une base de données dans le cloud (le schéma
seul ou bien le schéma et les données), vous devrez télécharger l'Assistant Migration
SQL Azure depuis CodePlex ([Link]/bYN8Vb).

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 35
Les développeurs SharePoint obtiennent de nouveaux modèles pour les colonnes de site et les
types de contenu, des blocs de création essentiels pour les sites SharePoint. Enfin,
Visual Studio 2012 offre un concepteur de liste visuel pour SharePoint qui est presque aussi
bien que celui de SharePoint. Les développeurs SharePoint peuvent également publier leurs
propres solutions directement de Visual Studio 2012 vers un site distant (ce qui rendra folle la
personne censée gérer les versions).

Étant donné que les développeurs WPF et Silverlight n'obtiennent pas l'intégration minimale
avec Blend, contrairement aux développeurs d'applications Windows Store, certains choix de
menu Blend (comme Épingler le conteneur actif et Créer des liaisons de données pour), ont
été ajoutés aux menus contextuels du concepteur XAML.

3.1.10. Team Foundation Service

Étant donné que les meilleures pratiques en matière de logiciels continuent à encourager la
création d'un grand nombre d'objets simples dédiés et assemblés de façon à créer des
applications complexes, la gestion de la multiplicité des composants logiciels au cours de tout
leur cycle de vie prend de plus en plus d'importance. Dans l'univers Microsoft, Visual Studio
Team Foundation Server (TFS) propose les outils de gestion du cycle de vie des applications.
Toutefois, notamment dans les équipes de petite taille, on présume (parfois de façon erronée)
que les coûts d'installation, de configuration et de gestion de TFS annuleraient tous les
avantages que la gestion du cycle de vie des applications pourrait éventuellement apporter.
C'est là qu'entre en scène Team Foundation Service : il s'agit de TFS dans le cloud.

Bien que Team Foundation Service soit encore en version préliminaire, vous pouvez le tester
(ou simplement jeter un œil à ses fonctionnalités) sur [Link]. Team Foundation
Service s'intègre à Visual Studio 2012 et Eclipse (bien que certaines fonctionnalités ne soient
pas disponibles pour Eclipse).

Avec Team Foundation Service, vous pouvez utiliser PowerPoint lors du démarrage du
processus de développement de l'application afin de déterminer le plan de l'application. Une
fois le développement commencé, le service offre le contrôle de source, les tests unitaires
continus (bien que cela soit uniquement au moment de l'enregistrement), ainsi que des outils
de gestion des informations sur les fonctionnalités, tâches, bogues, commentaires et files
d'attente. Il est relativement facile de configurer des versions d'intégration continues (tout au
moins pour les projets simples) et cela inclut le déploiement automatique sur
Windows Azure. Team Explorer, un outil Web, vous permet de vérifier votre projet depuis
n'importe quel emplacement.

Les tarifs n'avaient toujours pas été annoncés au moment de la rédaction de cet article.
Microsoft a déclaré qu'un niveau de service gratuit serait maintenu une fois le mode
préliminaire terminé. Toutefois, la société a également déclaré que des niveaux de service
payants seraient disponibles pour les utilisateurs mécontents du niveau gratuit.

3.1.11. Une mise à niveau

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 36
Depuis Visual Studio 2008, Visual Studio est « déconnecté » de la version correspondante de
Microsoft .NET Framework, ce qui signifie que vous pouvez effectuer une mise à niveau vers
le nouvel IDE sans mettre à niveau la version du framework. Vous avez encore plus de liberté
dans Visual Studio 2012 étant donné que tous les projets ne sont pas mis à niveau
automatiquement vers le .NET Framework 4.5 sans aucun moyen de revenir en arrière. Vous
pouvez sans aucun problème faire passer un projet de Visual Studio 2012 à
Visual Studio 2010, et inversement, à condition de ne pas utiliser SQL Server 2012 Express
LocalDB dans Visual Studio 2012 (une version de SQL Server Express sans configuration
uniquement prise en charge dans Visual Studio 2012) ou certaines fonctionnalités uniquement
disponibles dans le .NET Framework 4.5.

Si vous avez l'intention d'effectuer une mise à niveau vers le .NET Framework 4.5, vous
devez bien évidemment passer à Visual Studio 2012. Mais même si la mise à niveau n'est pas
effectuée vers le .NET Framework 4.5, vous pouvez toujours envisager de passer à Visual
Studio 2012. Le prix est raisonnable (la version Professional coûte 499 USD sans
abonnement à MSDN) et l'inspecteur de page en vaut probablement la peine à lui tout seul
pour les développeurs [Link]. Les développeurs Windows Azure apprécieront l'intégration
approfondie avec Visual Studio 2012. Les nouveaux outils Explorateur de solutions et
Explorateur de tests sont très pratiques. Et enfin, chaque développeur .NET devrait se
familiariser avec la version préliminaire.

Peter Vogel est responsable chez PH&V Information Services. Il est spécialisé dans le
développement [Link] et dispose de compétences dans les domaines de l'architecture
orientée service, du XML, des bases de données et de la conception d'interfaces utilisateur.

3.2. Création d’une application basique

Dans cette section nous allons créer une application qui permet effectuer les opérations
arithmétiques.

3.2.1 Fonctionnement de l’application

L’application contient une interface graphique sur laquelle se trouvent :

 L’entête contenant le titre de l’application ;


 Un groupe de contrôle de choix des opérations arithmétiques ;
 Une zone de saisie permettant à l’utilisateur de saisir la valeur faisant objet des
opérations arithmétiques ;
 Une liste d’affichage des résultats des opérations arithmétiques ;
 Un bouton pour exécuter les opérations arithmétiques.

Commençons par créer le projet dans l’environnement visuel studio 2012 après avoir lancé
l’environnement.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 37
Dans le menu FICHIER, choisir l’option « Nouveau projet »

Dans l’interface de projet, commencer par choisir le langage de programmation Visuel Basic
dans la liste de modèles, ensuite choisir le type d’Application Windows Forms, ensuite
donner le nom à votre projet, dans le cadre de notre formation nous avons renommé notre
projet : Tuto1et finir la création du projet en cliquant sur le bouton OK.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 38
Visuel Studio ouvre l’espace de travail en créant le premier formulaire du projet renommé
Form1.

Maintenant passons au travail !

Commençons par dessiner notre interface avec graphique

Sur cette interface nous avons les contrôles suivant :

 Un GroupeBox regroupant les boutons radios permettant à l’utilisateur de préciser


l’opération arithmétiques ;

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 39
 Un TextBox qui sert zone de saisie où l’utilisateur doit saisir la valeur (chiffre) qui
fera l’objet d’une opération arithmétique ;
 Deux Labels dont l’un sert de titre de l’application et l’autre pour étiqueter la zone de
saisie ;
 Une ListeBox permettant d’afficher le résultat de l’opération arithmétique ;
 Deux Boutons dont l’un permet de valider et exécuter l’opération arithmétique et
l’autre permettant de retour à l’interface de menu.

Voici le code de notre application dans le bouton valider l’opération:


Private Sub VALIDER_Click(sender As Object, e As EventArgs) Handles [Link]

Dim a As Integer
Dim b As Double

If [Link] = "" Then


[Link]("Désolé! vous devez saisir une valeur")

ElseIf Not IsNumeric([Link]) Then


[Link]("Désolé! vous devez saisir une valeur numérique")

ElseIf [Link] = True Then

b = [Link]
a = 0

[Link]()

While a <= 12

[Link](a & " X " & b & " = " & (a * b))
a += 1
End While
ElseIf [Link] = True Then
b = [Link]
a = 0
[Link]()
While a <= 12
[Link](a & " + " & b & " = " & (a + b))
a += 1
End While
ElseIf [Link] = True Then
b = [Link]
a = 0
[Link]()
While a <= 12
[Link](b & " - " & a & " = " & (b - a))
a += 1
End While
ElseIf [Link] = True Then
b = [Link]
a = 0
[Link]()
While a <= 12
[Link](b & " / " & a & " = " & (b / b))
a += 1
End While

End If

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 40
End Sub

Voici l’explication du code :

 On commence par déclarer deux variables a et b, a de type entier et b de type double


ou réel.
 On vérifie si la zone de saisie est vide pour afficher un message sur l’écran pour
demander à l’utilisateur de saisir une valeur.
 On vérifie si la une valeur saisie n’est numérique pour afficher un message sur l’écran
pour demander à l’utilisateur une valeur numérique.
 On vérifie si le bouton radio coché renvoie à l’opération de la multiplication.
 On affecte la valeur saisie dans la zone de saisie « txtVALAEUR » et on initialise la
variable b à 0.
 On nettoie la ListeBox pour enlever les données qui s’y trouvent
 On créer une boucle While(Tanque)pour vérifier si la valeur dans la variable a est
inférieure ou égale à 12
 On affiche dans la ListeBox le résultat de l’opération de la multiplication en affichant
la valeur de la variable a concaténée avec le signe de la multiplication X concaténé
avec la variable b concaténée avec le signe d’égalité = et l’opération de la variable a
multipliée par la variable b
 On incrémente la valeur de la variable b à 1 jusqu’à ce qu’elle soit égale à 12
 On ferme la boucle avec la fonction End While
 On vérifie le reste de boutons pour reprendre la même procédure.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 41
3.2. Création d’une application liée à une base de données conçue avec Microsoft Access

Commençons par ajouter un nouveau formulaire à notre projet dans le menu projet en suite
ajouter un formulaire windows…

Laisser par défaut les options proposées par visuel studio et valider sur le bouton Ok pour
créer le deuxième formulaire du projet et y place les contrôles important afin de se connecter
à la base de données. Ce formulaire est relatif à la table AGENT de notre base de données où
on trouve les informations d’un agent. Sur ce formulaire nous :

 Un Groupe de zones de saisie représentant chacun les champs de la table AGENT


 Un groupe de boutons de mise à jour de la base de données, Enregistrer, Supprimer et
Modifier
 Un tableau d’affichage(DataGridview) des sonnées de la table AGENT
 Une zone de saisie pour la recherche des agents ayant les noms commençant par la
première lettre saisie dans la zone de saisie

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 42
Voici le code de notre application
SE CONNECTER A UNE BASE DE DONNEES EN [Link]

1. Créer un Module dans lequel on va déclarer les variables de connexion à la BDD

Dans le menu projet ajouter un module

Laisser par défaut les options proposées par visuel studio et renommer le [Link] par
« Connexion » puis valider par sur le bouton Ok.

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 43
'Importer les classes nécessaires dans la Bibliothèque pour la connexion à la
BDD
Imports System
Imports [Link]
Imports [Link]

Module Connexion
'Créer une variable partagée de type String pour recueillir la chaine de
connexion contenant le chemin d’accès à la BDD
Public Chaine As String = "Provider=[Link].4.0;Data Source=C:\
Users \Documents\PRATIQUE VB NET ISC 2024\GESTION AGENT\ GESTION_AGENT.mdb"
'Créer une variable partagée de type OleDbConnection et l'instancier avec la
chaine de connexion
Public Con As OleDbConnection = New OleDbConnection(Chaine)
'Créer une variable partagée de type OleDbCommand pour réceuillir la requêtte
SQL
Public Requette As OleDbCommand
'Créer une variable partagée pour copier la table de la BDD
Public DTable As DataTable
'Créer une variable partagée pour adapter la table
Public Adaptateur As OleDbDataAdapter

End Module

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 44
2. Enregistrer les données dans la BDD
'************************ENREGISTRER LES DONNEES**************************

Private Sub btENREGISTRER_Click(sender As Object, e As EventArgs) Handles


[Link]
'Ouvrir la connexion
[Link]()
'Effectuer la commande à la BDD via la requette SQL d'insersion
Requette = New OleDbCommand("Insert into AGENT Values('" + [Link]
+ "','" + [Link] + "','" + [Link] + "','" + [Link] + "','" +
[Link] + "','" + [Link] + "')", Con)
'Executerla requette SQL d'insersion
[Link]()
[Link]("Enregistrement effectué")

'************************AFFICHAGES DES DONNEES**************************


'Effectuer la commande à la BDD via la requête SQL de sélection
Requette = New OleDbCommand("select* from AGENT", Con)
'Instancier l'Adaptateur et executer la requête SQL
Adaptateur = New OleDbDataAdapter(Requette)
'Instencier la table
DTable = New DataTable
'Filtrer la table
[Link](DTable)

'Lier le DataGridview à la source de données qui est la table


[Link] = DTable

'Fermer la connexion

[Link]()

'Actualiser les zones de saisie

[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""

End Sub

3. Sélectionner un enregistrement dans le DATAGRIDVIEW


'Dans le DATAGRIDVIEW préciser l’évenement CellClick
Private Sub dgvAGENT_CellClick(sender As Object, e As DataGridViewCellEventArgs)
Handles [Link]

'Affecter la valeur de chaque cellule dans chaque zone de saisie commençant par
l’indice 0 par ce qu’il s’agit d’un tableau

[Link] = [Link](0).[Link]
[Link] = [Link](1).[Link]
[Link] = [Link](2).[Link]
[Link] = [Link](3).[Link]
[Link] = [Link](4).[Link]
[Link] = [Link](5).[Link]
End Sub

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 45
4. Modification des données de la BDD
'************************EFFECTUER LA MODIFICATION**************************

Private Sub btMODIFIER_Click(sender As Object, e As EventArgs) Handles


[Link]

'Afficher le message de confirmation


If MsgBox("Voulez-vous effectuer la modification?", [Link]) Then

'Ouvrir la connexion
[Link]()
'Effectuer la commande à la BDD via la requête SQL de modification
Requette = New OleDbCommand("UPDATE AGENT SET [Link]='" + [Link]
+ "',[Link]='" + [Link] + "',[Link]='" + [Link] +
"',[Link]='" + [Link] + "',[Link]='" + [Link] + "'
WHERE [Link]='" + [Link] + "'", Con)
'Executerla requette SQL de modification
[Link]()
[Link]("Modification effectuée")

'************************AFFICHAGES DES DONNEES**************************


'Effectuer la commande à la BDD via la requête SQL de sélection
Requette = New OleDbCommand("select* from AGENT", Con)
'Instancier l'Adaptateur executer la requette SQL
Adaptateur = New OleDbDataAdapter(Requette)
'Instencier la table
DTable = New DataTable
'Filtrer la table
[Link](DTable)
'Lier le DataGridview à la source de données qui est la table
[Link] = DTable

'Fermer la connexion

[Link]()

'Actualiser les zones de saisie

[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""

End If

End Sub

5. Supprimer un enregistrement
'************************EFFECTUER LA SUPPRESSION**************************

Private Sub btSUPPRIMER_Click(sender As Object, e As EventArgs) Handles


[Link]

'Afficher le message de confirmation

If MsgBox("Voulez-vous effectuer la suppression?", [Link]) Then

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 46
'Ouvrir la connexion
[Link]()
'Effectuer la commande à la BDD via la requette SQL dde suppression
Requette = New OleDbCommand("Delete from AGENT WHERE
[Link]='" + [Link] + "'", Con)
'Executerla requette SQL de suppression
[Link]()
[Link]("Suppression effectuée")
'************************AFFICHAGES DES
DONNEES**************************
'Effectuer la commande à la BDD via la requette SQL de sélection
Requette = New OleDbCommand("select* from AGENT", Con)
'Instancier l'Adaptateur et exécuter la requette SQL
Adaptateur = New OleDbDataAdapter(Requette)
'Instencier la table
DTable = New DataTable
'Filtrer la table
[Link](DTable)
'Lier le DataGridview à la source de données qui est la table
[Link] = DTable

'Fermer la connexion

[Link]()

'Actualiser les zones de saisie

[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""

End Sub

6. Afficher les données de la BDD dans le tableau d’affichage


'************************AFFICHER LES DONNEES DE LA TABLE
AGENT**************************

Private Sub btRAFRAICHIR_Click(sender As Object, e As EventArgs) Handles


[Link]
'Ouvrir la connexion
[Link]()

'Effectuer la commande à la BDD via la requête SQL de sélection


Requette = New OleDbCommand("select* from AGENT", Con)
'Instancier l'Adaptateur et exécuter la requête SQL
Adaptateur = New OleDbDataAdapter(Requette)
'Instencier la table
DTable = New DataTable
'Filtrer la table
[Link](DTable)
'Vérifier si la table contient des enregistrements
If [Link] = 0 Then
[Link]("Aucun Enregistrement")
[Link]()

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 47
Else
'Lier le DataGridview à la source de données qui est la table
[Link] = DTable

End If
[Link]()

End Sub

7. Rechercher et afficher la liste des agents à partir de la première lettre de leurs


noms
'************************DANS LA ZONE DE RECHERCHE **************************
Private Sub txtNOM_RECHERHE_TextChanged(sender As Object, e As EventArgs)
Handles txtNOM_RECHERHE.TextChanged

'Ouvrir la connexion
[Link]()

'Effectuer la commande à la BDD via la requête SQL de sélection


Requette = New OleDbCommand("Select* from AGENT where [Link] like '"
+ txtNOM_RECHERHE.Text + "%'", Con)
'Instancier l'Adaptateur et exécuter la requête SQL
Adaptateur = New OleDbDataAdapter(Requette)
'Instencier la table
DTable = New DataTable
'Filtrer la table
[Link](DTable)

'Lier le DataGridview à la source de données qui est la table


[Link] = DTable

'Fermer la connexion

[Link]()

End Sub

Fin

Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 48
Programmation des applis desktop avec Evariste TUBAJIKE KABUYA, Tél. +243971154183Page 49

Vous aimerez peut-être aussi