Ce chapitre est très important car il constitue les bases de la programmation orientée objet (POO). Si vous êtes débutants, vous ne pouvez pas passer ce chapitre.
Bon trêve de paroles, passons aux choses sérieuses !
La base essentielle de tous les langages de programmation est la déclaration de variables.
En programmation, une des choses essentielle est l'utilisation des variables. Une variable est une sorte de boîte qui contient une valeur. Par exemple, je mets une chaussure dans une boite. La 'boite' représente la variable et la valeur est la 'chaussure'. L'intérêt principal des variables est leur utilisation ultérieure. En effet, on peut utiliser une variable à n'importe quel moment dans le programme en fonction de la portée de cette variable. (Voir chapitre sur la portée des variables)
En ce qui concerne les noms des variables, on peut utiliser des majuscules, minuscules et chiffres. Les espaces et autres caractères spéciaux ne sont pas acceptés (accents, @, .).
Attention : Le nom de la variable ne peut pas commencer par un chiffre !
NB : Je vous conseille de donner des noms explicites aux variables pour ne pas vous y perdre dans le programme. De plus, mettez la première lettre de votre variable en majuscule. Si votre variable est composée de plusieurs noms, séparez les par des « _ » ou mettez une majuscule à chaque nouveau mot. (préférez la première méthode)
Maintenant pour utiliser une variable, il faut avant tout la déclarer et l’instancier dans certains cas. Pour cela on utilise le mot clé Dim pour la déclarer et New pour l'instancier. De plus, il vaut lui assigner un type (Voir plus loin dans le chapitre)
On peut aussi instancier les variables précédentes comme cela :
Une variable peut aussi être instanciée par une fonction :
Il existe une multitude de types de variable. A notre niveau, on en utilisera essentiellement 4 : String, Integer, Boolean et Byte
Regroupons tous les types dans un tableau :
| Type de variable | Mémoire occupée | Plage de nombres acceptés |
|---|---|---|
| Boolean | 2 octets | True (1) ou False (0) |
| Byte | 1 octet | De 0 à 255 |
| Char | 2 octets | De 0 à 65 535 |
| Date | 8 octets | Dates entre le 1 Janvier 0001 et le 31 Décembre 9999 |
| Decimal | 16 octets | + / - 79 228 162 514 264 337 593 543 950 335 sans séparateur décimal sinon + / - 7.9 228 162… avec 28 chiffres après le séparateur décimal |
| Double | 8 octets | - 1,79769313486231E+308 à - 4.94065645841247E-324 (nombres négatifs) et 4.94065645841247E-324 à 1,79769313486231E+308 (nombres positifs) |
| Integer | 4 octets | De - 2 147 483 648 à 2 147 483 647 |
| Long | 8 octets | De - 9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 |
| Short | 2 octets | De - 32 768 à 32 767 |
| Single | 4 octets | De - 3.402823E-45 à - 1.401298E+38 |
| String | Variable | 0 à 2 milliards de caractères Unicode |
Utilisation de ces différents types de variable :
NB : Utiliser les types qui prennent le moins de mémoire. Par exemple, si vous souhaitez stocker une note dans votre variable, utilisez le type Integer mais n’utilisez pas le type Long dans la mesure où votre variable sera comprise entre 0 et 20 (ou 40 ou 100 en fonction des examens lol)
NB 2 : Une chaîne de caractères n’est en fait que du texte (« Je suis gentille ») et elle se met TOUJOURS entre guillemets contrairement aux nombres !
NB 3 : En VB.NET 2005 (dernière version de Microsoft), il existe 4 autres types de variables mais cela ne concerne pas notre cours.
Dans tous les langages de programmation, il peut être utile voire même nécessaire de convertir des variables d’un type dans un autre type. Cela permet d’éviter la création de nouvelles variables qui alourdiraient le programme.
Tableau récapitulatif des fonctions permettant de convertir des variables :
| Fonction | Type |
|---|---|
| CBool | Boolean |
| CByte | Byte |
| CChar | Char |
| CDate | Date |
| CDbl | Double |
| CDec | Decimal |
| CInt | Integer |
| CLng | Long |
| CObj | Object |
| CShort | Short |
| CSng | Single |
| CStr | String |
Attention : Dans le langage VB.NET, la virgule n'existe pas. On utilise le point qui remplace la virgule.
Noter que ces fonctions sont construites à partir de C (pour Convert) et de l’abréviation du type.
Pour convertir un Object dans un type (String, Integer…), on utilise la commande CType. Exemple : CType(a, String) ‘a va être convertit en ‘String’
Une variable peut être utilisée que si elle est visible dans le programme. Pour définir le niveau de visibilité de chaque variable, il existe un mot clé propre à chaque cas.
Tableau qui recence la portée des variables :
| Mot clé | Portée de la variable |
|---|---|
| Public | Partout dans le programme. |
| Private | Partout dans la classe ou le module où elle a été créée. |
| Dim | Seulement dans la procédure ou la fonction créée. |
| Protected | Les membres Protected sont similaires aux Private, mais ils ont une particularité en cas d'héritage. Ce point ne sera pas abordé. |
| Friend | Les membres Friend ne sont accessibles qu'à l'intérieur du projet, et pas par des éléments extérieurs au projet en cours. |
| Shared | Permet de partager une variable. N’est pas indispensable. |
NB : Ce tableau est aussi valable pour la portée des procédures et des fonctions
Cependant, il est déconseillé d’utiliser des variables globales (publics) car cela est une source importante d’erreurs. Pour affecter une valeur à une variable public, il est préférable de passer par une procédure d’affectation.
Bien sûr, il est possible de faire directement :
mais cela est source d’erreurs… En effet, vous pouvez modifier la variable à tout moment sans même vous en rendre compte ! A utiliser à vos risques et périls.
Les conditionnelles comme les boucles permettent de gérer le déroulement du code. Il existe deux grands types de conditionnelles : celles avec "If - Then" et celles avec "Select Case - End Select"
Structure générale :
En français : Si la condition 1 est vraie alors on exécute le bloc Then sinon on exécute le bloc Else
On peut tester une condition fausse et dans ce cas utiliser Not.
Il peut y avoir des opérateurs logiques dans la condition :
Des structures If – Then peuvent être imbriquées. C'est-à-dire que l’on peut emboîter plusieurs conditions dans une seule condition :
Astuce : Pour ne pas vous trompez, utiliser les tabulations et décaler chaque structure et son code au même niveau. Pour vérifier s’il n’y a pas d’erreur, comptez les If, il doit y en avoir autant que des End If. Visual Studio vous avertira en cas d'erreur.
Autre syntaxe possible :
Exercice : Créer une structure permettant de sécuriser ton MSN :
Cette structure est très utile pour tester un grand nombre de possibilités en fonction de la valeur d’une expression :
Structure générale :
Prenons un exemple : Un serveur envoie un certain code mais on ne sait pas si c'est le 1, le 2 ou un autre (comme 1000, 453, 876…) et vous voulez vous connecter si le code envoyé correspond au 1, vous déconnecter s'il correspond au 2 et afficher un message d'erreur si c'est un autre code autre que le 1 et le 2.
Voilà la structure :
La structure précédente est relativement simple mais limitée. On peut aussi utiliser d’autres types d’expressions plus complexes et plus pratiques :
Plusieurs expressions peuvent être séparées par des virgules.
Vous pouvez aussi mixer les différents cas précédents.
Exercice : Reprendre le même exercice que précédemment (avec IF…Then…Else) mais en changeant la structure.
Les boucles permettent de répéter un bloc d'instruction autant de fois qu'on l'a indiqué à la boucle. Elles sont très utilisées pour faire des calculs itératifs (Méthode d'Euler) ou pour lister le contenu d'un tableau. Il en existe quatre types majeurs : celles avec "For - Next", celles avec "Do - Loop", celles avec "While - End While" et celles avec "For Each - Next"
Structure générale :
La variable i va s’incrémenter automatiquement de 1 à la fin de chaque boucle.
On peut aussi définir un pas, le compteur s’incrémente de la valeur du pas à chaque boucle :
NB : On peut aussi utiliser un pas négatif mais cela est plus compliqué.
La variable de la boucle peut être déclarée en même temps que la boucle. De plus, la variable après le Next est facultative.
Dernière chose, on peut quitter la boucle prématurément :
Structure générale :
Attention :
Le premier élément d'un tableau est toujours à l'indice 0.
Le dernier élément d'un tableau est toujours à l'indice Length - 1 (dans l'exemple 7 - 1 = 6)
Structure générale :
Structure générale :
La structure For Each – Next est donc très utile pour tester une chaîne de caractère.
Pour travailler avec les variables on utilise des opérateurs. Il en existe de trois sortes : les opérateurs d'arithmétiques et de concaténation (mise bout à bout de chaîne de caractères), les opérateurs de logiques et les opérateurs de comparaisons.
| Opérateur | Opération réalisée par l’opérateur |
|---|---|
| + | Additionne deux nombres |
| - | Soustrait deux nombres |
| * | Multiplie deux nombres |
| / | Divise deux nombres et retourne un nombre à virgule flottante (décimal) |
| \ | Divise deux nombres et retourne un entier |
| Mod (ou Modulo) | Divise deux nombres et retourne seulement le reste |
| ^ | Elève à la puissance un nombre |
| & | Additionne (concatène) deux chaînes |
Les opérateurs de logique manipulent des valeurs True ou False.
| Opérateur | Syntaxe | Emploi |
|---|---|---|
| And (et) | Var_1 And Var_2 | True si Var_1 et Var_2 sont vraies |
| Or (ou) | Var_1 Or Var_2 | True si une des deux est vraie |
| Xor (ou exclusif) | Var_1 Xor Var_2 | True si une et une seule est vraie |
| Not (non) | Not Var | True si Var est faux et vice versa |
Les opérateurs de comparaison comparent deux nombres ou chaînes pour voir si ces nombres ou chaînes sont égaux, différents, supérieurs ou inférieurs.
| Opérateur | Signification |
|---|---|
| > | Strictement supérieur à |
| < | Strictement inférieur à |
| >= | Supérieur ou égal à |
| <= | Inférieur ou égal à |
| <> | Différent de |
| = | Egal à |
Les constantes sont des variables qui ne peuvent pas être la cible d’une assignation, c'est-à-dire que leur valeur ne peut pas être modifiée. Pour déclarer une constante on utilise le mot-clé Const. Un avantage majeur des constantes est qu’elles améliorent la lisibilité du code et son exécution.
Les énumérations sont des structures qui permettent de créer une liste de constantes. Pour cela on utilise le mot-clé Enum
Les énumérations comme les constantes allègent le programme et le rende plus clair.
Un tableau regroupe des éléments de même type et les rend accessibles par un indice entier. Pour créer un tableau, on procède comme ceci :
Attention : Les index d’un tableau commencent toujours à 0. Le premier élément dans un tableau est toujours à l'indice 0. (dans l’exemple 6) + 1 = 7
On peut modifier des valeurs dans le tableau :
Le tableau contient donc les valeurs suivantes :
| 98 |
| 0 |
| 3 |
| 0 |
| 0 |
| 0 |
| 0 |
Pour assigner un élément du tableau à une variable, on procède comme ceci :
Pour effacer un tableau et récupérer la mémoire allouée par le tableau :
Pour réinitialiser le tableau (remise à zéro des éléments) :
Pour parcourir un tableau, rien de plus simple. On utilise généralement une boucle :
Il existe une classe spéciale pour les tableaux ArrayList et SortedList.
Il existe seulement trois types d'option de codage dont deux sont très utilisés. Ces options permettent un meilleur codage et une meilleure compréhension du code. Le fait de les activer empêche le programmeur de faire des erreurs de logique implicites (conversions implicites ou liaisons tardives par exemple).
Voilà comment les utiliser :
Option Strict Off permet de faire n'importe quoi. C'est du Basic au mauvais sens du terme.
Option Strict On oblige à une grande rigueur. C'est du VB.Net
Je vous conseille de laisser Option Explicit à On, ce qui oblige à déclarer toutes les variables avant de les utiliser. Dans ce cas si vous tapez le nom d'une variable non déclarée, VB.NET génère une erreur.
Par défaut, l’Option Explicit est activée et l’Option Strict désactivée. En revanche, les deux options sont désactivées par défaut sous Visual Basic 2003 !
Désormais, vous connaissez toutes les bases de la programmation orientée objet (POO). Vous êtes enfin prêt à créer vous propres applications !
Pour vous aidez à faire des applications attractives et fonctionnelles... rendez vous dans les prochains chapitres...
Copyright © 2007 Fdiedler et Mustang766.Tous droits réservés.
Design © 2007 Hypershade