Aide-mémoire Visual Basic .NET : Différence entre versions

De La Mouche VII
Aller à la navigationAller à la recherche
m (restauration (je sais, VB c'est mal, mais c'est pas une raison de mettre du spam sur la page !))
 
Ligne 28 : Ligne 28 :
 
* Array : tableau
 
* Array : tableau
  
2PfORg <a href="http://vgdqzbkjqixe.com/">vgdqzbkjqixe</a>, [url=http://tmizbocmyvan.com/]tmizbocmyvan[/url], [link=http://draqgnsregld.com/]draqgnsregld[/link], http://yremtumczlig.com/
+
=== Classes prédéfinies utiles ===
 +
 
 +
La classe Object est la classe mère de tous les objets.
 +
 
 +
==== Collection ====
 +
 
 +
Structure de liste dynamique.
 +
 
 +
Dim liste As New Collection 'Déclaration
 +
  liste.Add(objet1)          'Ajout d'un élément "objet1"
 +
liste.Item(1)              'Accès au premier élément
 +
liste.Remove(1)            'Suppression du premier élément
 +
liste.Count                'Nombre d'éléments de la collection
  
 
=== Portée ===
 
=== Portée ===
Ligne 39 : Ligne 51 :
 
* Shared : attribut de classe (Public Shared maVariable As... est équivalent à Public Static en Java)
 
* Shared : attribut de classe (Public Shared maVariable As... est équivalent à Public Static en Java)
  
m1nXcL <a href="http://wfjsxttdfufp.com/">wfjsxttdfufp</a>, [url=http://tgzazhgtddyb.com/]tgzazhgtddyb[/url], [link=http://fslapanaevnx.com/]fslapanaevnx[/link], http://zjkgiqxfioem.com/
+
=== Déclaration ===
 +
 
 +
Pour les objets :
 +
  Dim nomObjet As New nomClasse
 +
 
 +
Pour les "types simples" (ici Integer) :
 +
Dim nomVariable As Integer
 +
ou :
 +
Dim nomVariable As New Integer
  
 
=== Affectation ===
 
=== Affectation ===
Ligne 147 : Ligne 167 :
 
  Call nomSousProgramme()
 
  Call nomSousProgramme()
  
Bc6PPR <a href="http://ufvptcqehcuc.com/">ufvptcqehcuc</a>, [url=http://ihdvrvuspodz.com/]ihdvrvuspodz[/url], [link=http://iovdghjwpdgi.com/]iovdghjwpdgi[/link], http://zkabmtadncrl.com/
+
== Structures conditionnelles ==
 +
 
 +
=== Les conditions ===
 +
 
 +
Une condition simple est de la forme :
 +
  VALEUR1 OPERATEUR VALEUR2
 +
 
 +
On peut composer une condition avec un opérateur logique, par exemple :
 +
VALEUR1 OPERATEUR1 VALEUR2 And VALEUR3 OPERATEUR2 VALEUR4
 +
 
 +
=== Opérateur conditionnel (If Then Else) ===
 +
 
 +
If CONDITION Then
 +
  ACTION
 +
End If ...
 +
 
 +
If CONDITION Then
 +
  ACTION1
 +
Else
 +
  ACTION2
 +
End If ...
 +
 
 +
If CONDITION1 Then
 +
  ACTION1
 +
ElseIf CONDITION2 Then
 +
  ACTION2
 +
ElseIf CONDITION3 Then
 +
  ACTION3
 +
[...]
 +
Else
 +
  ACTIONsinon
 +
End If ...
 +
 
 +
=== Opérateur conditionnel multiple (Select Case) ===
 +
 
 +
Select Case VALEURtest
 +
  Case VALEUR1
 +
    ACTION1
 +
  Case VALEUR2
 +
    ACTION2
 +
  [...]
 +
  Case Else
 +
    ACTIONsinon
 +
End Select
 +
 
 +
Une valeur de test peut être :
 +
* simple (numérique ou alphanumérique) : VALEUR1
 +
* une plage : VALEUR1 To VALEUR2
 +
* un test : Is < 42
 +
* multiple (où chaque valeur peut à son tour être simple, une plage ou un test) : VALEUR1, VALEUR2, ..., VALEURn
 +
 
 +
=== Opérateur de boucle (For) ===
 +
 
 +
For VARIABLE=VALEURdébut To VALEURfin
 +
  ACTION
 +
Next VARIABLE
 +
 
 +
For VARIABLE As TYPE = VALEURdébut To VALEURfin
 +
  ACTION
 +
Next VARIABLE
 +
 
 +
Pour quitter la boucle prématurément :
 +
Exit For
 +
 
 +
=== Opérateur de boucle (Do Loop) ===
 +
 
 +
Boucler jusqu'à ce que la CONDITION soit vraie :
 +
Do
 +
  ACTION
 +
Loop Until CONDITION
 +
 
 +
Boucler tant que la CONDITION est vraie :
 +
Do
 +
  ACTION
 +
Loop While CONDITION
 +
 
 +
Boucle infinie :
 +
Do
 +
  ACTION
 +
Loop
 +
 
 +
Quitter la boucle prématurément :
 +
Exit Do
 +
 
 +
=== Opérateur de boucle (While) ===
 +
 
 +
While CONDITION
 +
  ACTION
 +
End While
 +
 
 +
=== Opérateur de boucle sur collection (For Each) ===
 +
 
 +
For Each OBJET In COLLECTION
 +
  ACTION
 +
Next OBJET
 +
 
 +
Exemple :
 +
For Each i As Object In tableau
 +
  Msgbox(i.ToString)
 +
Next i
  
 
== Opérateurs ==
 
== Opérateurs ==

Version actuelle datée du 17 mai 2010 à 09:47


Dans le cadre de mes enseignements, j'ai eu à donner l'an passé des cours de VB.NET. Parce que d'autres peuvent se retrouver malgré eux dans cette situation délicate, je me résous à souiller ce wiki en y déposant les notes que j'ai prises durant les TP.

Pour développer en VB, je recommande l'IDE libre SharpDevelop, qui est très similaire à l'IDE propriétaire Microsoft (en tout cas dans sa version « Express Edition »).

Commentaires

Les commentaires sont marqués par une apostrophe, qui est l'équivalent du // en C++ :

a = 1 'Affectation de 1 à la variable a.

Variables et constantes

Types

  • Byte (1 octet)
  • Boolean : booléen, valeur True ou False (2 octets)
  • Short : entier court (2 octets)
  • Integer : entier (4 octets)
  • Long : entier long (8 octets)
  • Single : réel (simple précision, 4 octets)
  • Double : réel (double précision, 8 octets)
  • Decimal : nombre décimaux (16 octets)
  • Char : caractère, par exemple "a" (2 octets)
  • String : chaîne (taille variable, jusqu'à 2 milliards de caractères unicode)
  • Date : date (8 octets)
  • Array : tableau

Classes prédéfinies utiles

La classe Object est la classe mère de tous les objets.

Collection

Structure de liste dynamique.

Dim liste As New Collection 'Déclaration
liste.Add(objet1)           'Ajout d'un élément "objet1"
liste.Item(1)               'Accès au premier élément
liste.Remove(1)             'Suppression du premier élément
liste.Count                 'Nombre d'éléments de la collection

Portée

  • Dim : fonction ou procédure.
  • Private : classe ou module.
  • Protected : comme Private, et classes filles.
  • Public : programme.
  • Friend : projet (?).
  • Shared : attribut de classe (Public Shared maVariable As... est équivalent à Public Static en Java)

Déclaration

Pour les objets :

Dim nomObjet As New nomClasse

Pour les "types simples" (ici Integer) :

Dim nomVariable As Integer

ou :

Dim nomVariable As New Integer

Affectation

VARIABLE = VALEUR

Contantes simples

Private Const nomContante As Integer = 42

Enumérations

Déclaration :

Private Enum nomEnumeration
   nomValeur1
   nomValeur2
   [...]
   nomValeurn
End Enum

Utilisation :

nomEnumeration.nomValeur1

Tableaux

Note : le premier indice d'un tableau est 0.

Déclaration

Dim nomTableau(indiceMax) As typeTableau

Attention : il faut bien passer le dernier indice du tableau, et non sa taille ! Par exemple, la ligne suivante créera un tableau de 3 entiers (et non de deux) :

Dim tab(2) As Integer

A noter en revanche que nomTableau.Length retourne la taille du tableau (le nombre d'éléments), et non pas le plus haut indice.

On peut déclarer un tableau et l'initialiser simultanément :

Dim nomTableau() As typeTableau = {VALEUR1, VALEUR2, ..., VALEURn}

On peut déclarer un tableau sans taille et l'initialiser en bloc :

Dim nomTableau() As typeTableau
nomTableau = New typeTableau(indiceMax) {VALEUR1, VALEUR2, ..., VALEURn}

Utilisation

Accès aux valeurs :

nomTableau(indice) = VALEUR
nomVariable = nomTableau(indice)

Effacer un tableau :

Erase nomTableau

ou :

nomTableau = Nothing

Mettre tous les éléments du tableau à zéro :

Array.Clear(nomTableau, 0, nomTableau.Length)

Redimensionner un tableau :

Redim nomTableau(indiceMax) 'Le tableau est redimensionné et les valeurs sont effacées
Redim Preserve nomTableau(indiceMax) 'Le tableau est redimensionné et les valeurs conservées

Tableaux multi-dimensionnels

Les dimensions sont séparées par des virgules. Par exemple pour un tableau à deux dimensions :

Dim nomTableau(indiceMax1, indiceMax2) As typeTableau
nomTableau(0,0) = VALEUR
Dim nomTableau(,) as typeTableau = {{VALEUR1, VALEUR2}, {VALEUR3, VALEUR4}, ..., {VALEURm, VALEURn}}

Sous-programmes

Sub

Procédure (pas de retour de résultat)

Déclaration :

Sub nomSub()
Sub nomSub(nomArg1 as typeArg1)

Sortir :

Exit Sub ou Return.

Function

Fonction (retour de résultat). On les place généralement dans un fichier séparé : menu Projet -> Ajouter un module -> Module (donner un nom).

Déclaration :

Function nomFunction()
Function nomFunction(nomArg1 As typeArg1)
Function nomFunction(nomArg1 As typeArg1) As typeRetour

Sortir :

Return VALEUR

ou :

nomFunction = VALEUR
Exit Function

Portée

Private : accessible uniquement depuis le même module.

Public (par défaut) : accessible à partir des autres modules.

Appel

nomSousProgramme()

ou :

Call nomSousProgramme()

Structures conditionnelles

Les conditions

Une condition simple est de la forme :

VALEUR1 OPERATEUR VALEUR2

On peut composer une condition avec un opérateur logique, par exemple :

VALEUR1 OPERATEUR1 VALEUR2 And VALEUR3 OPERATEUR2 VALEUR4

Opérateur conditionnel (If Then Else)

If CONDITION Then
  ACTION
End If ...
If CONDITION Then
  ACTION1
Else
  ACTION2
End If ...
If CONDITION1 Then
  ACTION1
ElseIf CONDITION2 Then
  ACTION2
ElseIf CONDITION3 Then
  ACTION3
[...]
Else
  ACTIONsinon
End If ...

Opérateur conditionnel multiple (Select Case)

Select Case VALEURtest
  Case VALEUR1
    ACTION1
  Case VALEUR2
    ACTION2
  [...]
  Case Else
    ACTIONsinon
End Select

Une valeur de test peut être :

  • simple (numérique ou alphanumérique) : VALEUR1
  • une plage : VALEUR1 To VALEUR2
  • un test : Is < 42
  • multiple (où chaque valeur peut à son tour être simple, une plage ou un test) : VALEUR1, VALEUR2, ..., VALEURn

Opérateur de boucle (For)

For VARIABLE=VALEURdébut To VALEURfin
  ACTION
Next VARIABLE
For VARIABLE As TYPE = VALEURdébut To VALEURfin
  ACTION
Next VARIABLE

Pour quitter la boucle prématurément :

Exit For

Opérateur de boucle (Do Loop)

Boucler jusqu'à ce que la CONDITION soit vraie :

Do
  ACTION
Loop Until CONDITION

Boucler tant que la CONDITION est vraie :

Do
  ACTION
Loop While CONDITION

Boucle infinie :

Do
  ACTION
Loop

Quitter la boucle prématurément :

Exit Do

Opérateur de boucle (While)

While CONDITION
  ACTION
End While

Opérateur de boucle sur collection (For Each)

For Each OBJET In COLLECTION
  ACTION
Next OBJET

Exemple :

For Each i As Object In tableau
  Msgbox(i.ToString)
Next i

Opérateurs

Opérateurs de comparaison

  • égal : =
  • différent : <>
  • inférieur : <
  • supérieur : >
  • inférieur ou égal : <=
  • supérieur ou égal : >=

Note : dans une condition, le signe '=' sert de comparaison et pas d'affectation.

Opérateurs arithmétiques

  • opérations basiques : +, -, /, *
  • division entière : \
  • reste : Mod
  • puissance : ^
  • concaténation de chaînes : &

Opérateurs logiques

  • et : And
  • ou : Or
  • ou exclusif : Xor
  • négation : Not

Base de données

Sélection d'une date dans Access :

select * from Table where champ_date = #1999-03-29#

Ce qui donne en VB :

requete = "select * from Table where champ_date = #" & maDate & "#"