Visual Basic/Manipulation des variables

Une page de Wikiversité.


Manipulation des variables
Computer-aj aj ashton 01.svg
Chapitre 4
Leçon : Visual Basic
Chap. préc. : Les types en VB
Chap. suiv. : Conditionnelles et boucles
Icon falscher Titel.svg

En raison de limitations techniques, la typographie souhaitable du titre, « Visual Basic : Manipulation des variables
Visual Basic/Manipulation des variables
 », n'a pu être restituée correctement ci-dessus.

Sommaire

[modifier] Déclaration des variables

[modifier] Syntaxe

Une variable VB doit porter un nom commençant par une lettre et ne devant pas comporter certains caractères spéciaux :

  • espace
  • ! (réservé aux Single)
  • # (réservé aux Double)
  • % (réservé aux Integer)
  • $ (réservé aux String)
  • & (réservé aux Long)
  • @

Chaque fois que l'on voudra utiliser une nouvelle variable, il est fortement conseillé de la déclarer dans la feuille de code pour signaler au compilateur avec quoi il travaille et quelle place allouer à la mémoire pour gérer ces variables.


Exemple

Dim Nom As String
Dim Age As Integer

déclare une chaîne de caractères Nom et un entier Age

Dim B1, B2, B3 As Boolean

déclare trois booléens B1,B2 et B3.

[modifier] Portée

Une variable VB peut avoir trois portées différentes.

  • Le niveau procédure, le plus fin, qui permet de limiter l'existence de la variable à la fonction ou procédure en cours.
  • Le niveau formulaire permet l'accès à la variable à toutes les procédures d'un même formulaire.
  • Le niveau projet permettant d'accéder au contenu de la variable dans toute l'application.



Exemple

Dim Nom As String

placé en début d'une procédure, déclare une chaîne de caractères Nom pour la procédure courante uniquement.

Dim Nom As String

placé en début de formulaire, déclare une chaîne de caractères Nom pour toutes les procédures de celui-ci.

Public Nom as String

placé dans un module, déclare une chaîne de caractères Nom pour tout le projet.

[modifier] Opérations possibles sur les variables

[modifier] Affectation

Pour donner une valeur à une variable, on utilise le signe =


Exemple

Dim x As Integer
Dim y As Boolean
 
x = 3
y = True

x vaut 3 et y vaut Vrai

[modifier] Opérations mathématiques

  • Les opérations usuelles (addition, soustraction, multiplication, division) s'écrivent en VB avec leurs symboles usuels.


Exemple

a = 52
b = 8
 
c = a + b 'c vaut 60
d = a - b 'd vaut 44
e = a * b 'e vaut 416
f = a / b 'f vaut 6,5
  • Pour le type Integer, le reste de la division euclidienne est accessible avec l'instruction Mod


Exemple

a = 52
b = 8
c = a Mod b 'c vaut 4
  • VB dispose également par défaut d'une petite bibliothèque de fonctions mathématiques standard :
Nom Description
Cos Cosinus de l'angle (en radians)
Sin Sinus de l'angle (en radians)
Tan Tangente de l'angle (en radians)
Exp Exponentielle (en base e)
Log Logarithme népérien
Sqr Racine carrée

Ces fonctions retournent un résultat du type Double


[modifier] Opérations logiques

Les opérations logiques se font en temps normal sur des variables de type Boolean.

VB connaît les principales opérations :

  • Not : opérateur NON
  • And : opérateur ET
  • Or : opérateur OU
  • Xor : opérateur OU exclusif


Exemple

Dim a, b As Boolean
a = True
b = False
 
c = a And b 'c contient False
d = a Or b 'd contient True
e = a Xor b 'e contient True
f = Not a 'f contient False

[modifier] Comparaison

VB sait comparer :

  • deux variables numériques
  • deux chaînes de caractères, l'ordre étant celui du codage ASCII

Les opérateurs de comparaison sont les suivants :

Opérateur Signification
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal
=[1] Égal
<> Différent


Exemple

c1 = "minuscule"
c2 = "VisualBasic"
c3 = "Zanzibar"
 
b1 = c2 < c3 'b1 contient True
b2 = c1 < c3 'b2 contient False : dans l'ordre ASCII, les majuscules sont avant les minuscules

a = 12
b = 12
c = a <> b 'c contient False
c = a = b 'c contient True

[modifier] Opérations possibles sur les chaînes de caractères

[modifier] Longueur de la chaîne

La longueur d'une chaîne de caractères est accessible grâce à l'instruction Len.


Exemple

a = "abcdefghi"
b = Len(a) 'b contient 9

[modifier] Concaténation

Concaténer deux chaînes de caractères est l'opération qui consiste à les mettre bout à bout. De manière très intuitive, cette opération peut se faire en VB grâce à deux opérateurs : + et &.


Exemple

a = "abcd"
b = "efgh"
c = a + b 'c contient la chaîne "abcdefgh"

[modifier] Suppression des espaces latéraux

VB dispose de trois fonctions permettant de s'affranchir des espaces inutiles aux extrémités des chaînes de caractères :

  • LTrim$ (L comme Left), qui retire les espaces inutiles à gauche de la chaîne
  • RTrim$ (R comme Right), qui retire les espaces inutiles à droite de la chaîne
  • Trim$, qui retire les espaces inutiles à droite et à gauche de la chaîne


Exemple

a = " abcd "
b = " efgh "
c = a + b
 
a1 = LTrim$(a) 'a1 contient la chaîne "abcd "
b1 = RTrim$(b) 'b1 contient la chaîne " efgh"
c1 = Trim$(c) 'c1 contient la chaîne "abcd  efgh"

[modifier] Changement de casse

Il existe deux fonctions qui permettent d'harmoniser la casse d'une chaîne :

  • LCase$ (comme Lower Case), qui permet d'obtenir la chaîne en minuscules
  • UCase$ (comme Upper Case), qui permet d'obtenir la chaîne en majuscules


Exemple

a = "BlAbLa"
b = LCase$(a) 'b vaut "blabla"
c = UCase$(a) 'c vaut "BLABLA"

[modifier] Extraction d'une sous-chaîne

On peut facilement extraire des sous-chaînes en VB de trois manières :

  • Left$: permet d'extraire les caractères les plus à gauche de la chaîne
  • Right$: permet d'extraire les caractères les plus à droite de la chaîne
  • Mid$: permet d'extraire une sous-chaîne intérieure


Exemple

a = "123456789"
b = Right$(a, 5) 'b contient les 5 caractères les plus à droite de a, c'est-à-dire "56789"
c = Left$(a, 2) 'c contient les 2 caractères les plus à gauche de a, c'est-à-dire "12"

d = Mid$(a, 3, 4) 'd contient 4 caractères à partir du troisième, c'est-à-dire "3456"
'Attention aux paramètres : Mid$(chaîne, départ, longueur)

[modifier] Recherche d'une sous-chaîne

VB permet de trouver la position de la première occurrence d'une chaîne dans une autre chaîne grâce à l'instruction InStr.


Exemple

t1 = "45"
t2 = "w"
s = "123456789"
 
b1 = InStr(s, t1) 'b1 vaut 4 car "45" commence au quatrième caractère de s
b2 = InStr(s, t2) 'b2 vaut 0 car "w" est introuvable dans s

[modifier] Valeur numérique

L'instruction Val permet d'extraire un nombre présent au début d'une chaîne de caractères.


Exemple

a = "23"
b = "17.5 ans"
y = "taratata"
 
c = Val(a) 'c vaut 23
d = Val(b) 'd vaut 17.5
z = Val(y) 'z vaut 0

[modifier] Influence du typage sur le contenu des variables

Contrairement à d'autres langages, VB fait preuve d'un certain laxisme envers le typage des variables. Ce peut être un avantage comme un inconvénient.


Exemple

Dim a As Integer
Dim b As Integer
 
a = 2.51
b = 2.49

Après l'exécution de ces lignes, a contiendra en réalité 3 et b contiendra 2.

Toutefois, cette souplesse se manifeste avec certains opérateurs et pas d'autres.


Exemple

Dim s As String
Dim a As Integer
Dim b As Double
 
a = 14
b = 17.2
s = "a+b vaut " & (a + b) & " !"

Avec &, s contient "a+b vaut 31.2 !"

Dim s As String
Dim a As Integer
Dim b As Double
 
a = 14
b = 17.2
s = "a+b vaut " + (a + b) + " !"

Avec +, on obtient l'erreur d'exécution 13 : Types incompatibles

[modifier] Notes et références

  1. Il s'agit bien du signe = et non ==
Crystal Clear action back.png Les types en VB