Utilisation des variables

Cette rubrique décrit l'utilisation de base des variables dans LibreOffice Basic.

Conventions de nommage des variables

Un nom de variable peut comprendre jusqu'à 255 caractères. Le premier de ces caractères doit être une lettre entre A et Z ou a et z. Les chiffres peuvent également être utilisés dans ces noms, mais les signes de ponctuation et les caractères spéciaux ne sont pas autorisés, sauf le caractère de soulignage ("_"). Dans LibreOffice Basic, les identificateurs de variables ne respectent pas la casse. Les noms de variables peuvent contenir des espaces mais doivent, dans ce cas, être placés entre crochets.

Exemples d'identificateurs de variables :


    MyNumber=5      'Correct'
    MyNumber5=15    'Correct'
    MyNumber_5=20   'Correct'
    My Number=20    'invalide, un nom de variable avec un espace doit être entouré de crochets [].
    [My Number]=12  'Correct'
    DéjàVu=25       'Invalide, caractères spéciaux interdits'
    5MyNumber=12    'Incorrect, ne doit pas commencer par un chiffre'
    Number,Mine=12  'Invalide, signes de ponctuation non autorisés'

Déclaration des variables

Dans LibreOffice Basic, il n'est pas nécessaire de déclarer les variables explicitement. Une variable peut être déclarée à l'aide de l'instruction Dim. Vous pouvez déclarer plusieurs variables à la fois en séparant leurs noms à l'aide d'une virgule. Pour définir le type de variable, utilisez soit un caractère de déclaration de type après le nom, soit le mot-clé approprié.

Exemples de déclarations de variables :


    Dim a$               'Déclare la variable "a" de type String'
    Dim a As String      'Déclare la variable "a" de type String'
    Dim a$, b As Integer 'Déclare une variable de type String et une de type Integer'
    Dim c As Boolean     'Déclare c de type Boolean variable qui peut être TRUE ou FALSE'
warning

Après avoir déclaré une variable comme étant d'un certain type, vous ne pouvez pas la déclarer à nouveau sous le même nom comme étant d'un type différent !


Déclarations de variables forcées

Pour forcer la déclaration de variables, utilisez la commande suivante :


Option Explicit

L'instruction Option Explicit doit constituer la première ligne du module, avant le premier élément SUB. Généralement, seules les matrices doivent être déclarées explicitement. Toutes les autres variables sont déclarées en fonction du caractère de déclaration de type ou, en cas d'omission, en tant que type par défaut Single (simple).

Types de variables

LibreOffice Basic supporte quatre classes de variables :

Variables entières

Les variables entières sont comprises entre -32 768 et 32 767. Si vous assignez une valeur à virgule flottante à une variable entière, les décimales sont arrondies au nombre entier suivant. Les variables entières sont calculées rapidement dans les procédures et peuvent être utilisées pour les variables de comptage dans les boucles. Une variable entière n'occupe que deux octets de mémoire. "%" constitue le caractère de déclaration de ce type.


Dim Variable%
Dim Variable As Integer

Variables entières longues

Les variables entières longues sont comprises entre -2 147 483 648 et 2 147 483 647. Si vous assignez une valeur à virgule flottante à une telle variable, les décimales sont arrondies au nombre entier suivant. Les variables entières longues sont calculées rapidement dans les procédures et peuvent être utilisées pour les variables de comptage dans les boucles pour les valeurs importantes. Une variable entière longue occupe quatre octets de mémoire. "&" constitue le caractère de déclaration de ce type.


Dim Variable&
Dim Variable As Long

Variables décimales

Les variables décimales peuvent contenir des nombres positifs ou négatifs, ou zéro. La précision est de 29 chiffres.

Il est possible d'utiliser plus (+) ou moins (-) comme préfixes aux nombres décimaux (avec ou sans espaces).

Si un nombre décimal est assigné à une variable nombre entier, LibreOffice Basic arrondira la valeur vers le haut ou vers le bas.

Variables simples

Les variables de type Single peuvent prendre des valeurs positives ou négatives allant de 3,402823 x 10E38 à 1,401298 x 10E-45. Les variables de type Single sont des variables à virgule flottante, dans lesquelles la précision décimale diminue à mesure que la partie non décimale du nombre augmente. Les variables Single conviennent aux calculs mathématiques de précision moyenne. Les calculs nécessitent plus de temps que pour les variables entières, mais sont plus rapides que les calculs avec des variables doubles. Une variable Single nécessite 4 octets de mémoire. Le caractère de déclaration de type est "!".


Dim Variable!
Dim Variable As Single

Variables doubles

Les variables de type Double peuvent prendre des valeurs positives ou négatives allant de 1,79769313486232 x 10E308 à 4,94065645841247 x 10E-324. Les variables Double sont des variables à virgule flottante, dans lesquelles la précision décimale diminue à mesure que la partie non décimale du nombre augmente. Les variables doubles conviennent pour des calculs précis. Les calculs nécessitent plus de temps que pour les variables Single. Une variable Double nécessite 8 octets de mémoire. Le caractère de déclaration de type est "#".


Dim Variable#
Dim Variable As Double

Variables monétaires

Les variables monétaires sont stockées en interne sous forme de nombres de 64 bits (huit octets) et s'affichent sous forme de nombres décimaux fixes comportant 15 valeurs non décimales et 4 décimales. Leurs valeurs sont comprises entre -922 337 203 685 477,5808 et +922 337 203 685 477,5807. Les variables monétaires servent à calculer des valeurs monétaires avec une grande précision. @ constitue le caractère de déclaration de ce type.


Dim Variable@
Dim Variable As Currency

Littéraux pour les entiers

Les nombres peuvent être encodés en utilisant des formes octales et hexadécimales.


  xi = &o13 '    8 + 3
  ci = &h65 ' 6*16 + 5
  MAX_Integer =  &o77777 '  32767 = &h7FFF
  MIN_Integer = &o100000 ' -32768 = &h8000
  MAX_Long = &h7fffffff '  2147483647 = &o17777777777
  MIN_Long = &h80000000 ' -2147483648 = &o20000000000

Variables de cha√ģne

Les variables de cha√ģne peuvent comporter des cha√ģnes de caract√®res allant jusqu'√† 2 147 483 648 caract√®res. Chaque caract√®re est stock√© sous la valeur Unicode correspondante. Les variables de cha√ģne peuvent √™tre utilis√©es pour le traitement de texte √† l'int√©rieur de programmes et pour le stockage temporaire de tout caract√®re non imprimable d'une longueur maximale de 2 Gbites. La m√©moire n√©cessaire au stockage des variables de cha√ģne d√©pend du nombre de caract√®res de celles-ci. "$" constitue le caract√®re de d√©claration de ce type.

tip

Dans les fonctions de cha√ģne BASIC, le premier caract√®re de la cha√ģne a 1 pour index.



Dim Variable$
Dim Variable As String

Variables logiques

Les variables logiques ne stockent qu'une seule des deux valeurs suivantes : VRAI ou FAUX. 0 correspond à FAUX ; toute autre valeur correspond à VRAI.


Dim Variable As Boolean

Variables de date

Les variables de date ne peuvent contenir que des valeurs de date et d'heure stockées dans un format interne. Les valeurs assignées aux variables de date par Dateserial, Datevalue, Timeserial oo Timevalue sont automatiquement converties au format interne. Les variables de date sont converties en nombres normaux à l'aide de la fonction Day, Month, Year, Hour, Minute ou Second. Le format interne permet de comparer des valeurs date/heure par calcul de la différence entre deux nombres. Ces variables ne peuvent être déclarées qu'avec le mot-clé Date.


Dim Variable As Date

Valeurs initiales des variables

Dès que la variable est déclarée, elle est automatiquement définie à la valeur "Null". Notez les conventions suivantes :

Les variables numériques obtiennent automatiquement la valeur "0" dès qu'elles sont déclarées.

La valeur 0 est assignée en interne aux variables de date, ce qui revient à convertir la valeur 0 avec la fonction Day, Month, Year, Hour, Minute ou Second.

Les variables de cha√ģne obtiennent un espace vide ("") lorsqu'elles sont d√©clar√©es.

Matrices

LibreOffice Basic reconna√ģt les matrices unidimensionnelles ou multidimensionnelles d√©finies par un type de variable sp√©cifi√©. Les matrices peuvent √™tre utilis√©es pour l'√©dition de listes et de tables dans les programmes. Les diff√©rents √©l√©ments d'une matrice peuvent √™tre d√©sign√©s par un index num√©rique.

Les matrices doivent être déclarées avec l'instruction Dim. Il existe plusieurs façons de définir la plage d'index d'une matrice :


    Dim Text$(20)       '21 éléments numérotés de 0 à 20'
    Dim Text$(5,4)      '30 éléments (a matrice de 6 x 5 éléments)'
    Dim Text$(5 To 25)  '21 éléments numérotés de 5 à 25'
    Dim Text$(-15 To 5) '21 éléments ( 0 inclus ), numérotés de -15 à 5'

La plage d'index peut comprendre des nombres positifs comme des nombres négatifs.

Constantes

Les constantes ont une valeur fixe. Elles ne sont définies qu'une seule fois dans le programme et ne peuvent pas être redéfinies ultérieurement :


Const ConstName=Expression

Aidez-nous !