Portée et durée de vie des variables
- Présentation d'un programme Apache OpenOffice Basic
- Utilisation des variables
- Variables de chaîne de caractères
- Variables numériques
- Variables booléennes
- Variables de date et d'heure
- Matrices
- Portée et durée de vie des variables
- Constantes
- Opérateurs
- Instructions conditionnelles
- Boucles
- Procédures et fonctions
- Traitement des erreurs
Dans Apache OpenOffice Basic, une variable est créée avec une durée de vie limitée, ainsi qu'une portée limitée qui détermine le point du programme à partir duquel elle peut être lue et utilisée dans d'autres parties du programme. La durée pendant laquelle une variable est conservée et les endroits depuis lesquels il est possible d'y accéder dépendent de son emplacement et de son type.
Variables locales
Les variables déclarées dans une fonction ou une procédure sont appelées variables locales :
Sub Test
Dim MyInteger As Integer
' ...
End Sub
Les variables locales ne restent valides que durant l'exécution de la fonction ou de la procédure et sont ensuite réinitialisées à zéro. À chaque nouvel appel de la fonction, les valeurs générées précédemment ne sont plus disponibles.
Pour conserver les valeurs précédentes, il faut définir la variable comme Static :
Sub Test
Static MyInteger As Integer
' ...
End Sub
Variables du domaine public
Les variables du domaine public sont définies dans la section d'en-tête d'un module par le mot-clé Dim. Ces variables sont accessibles à tous les modules de leur bibliothèque :
Module A :
Dim A As Integer
Sub Test
Flip
Flop
End Sub
Sub Flip
A = A + 1
End Sub
Module B :
Sub Flop
A = A - 1
End Sub
La valeur de la variable A n'est pas modifiée par la fonction Test, mais elle est augmentée de un dans la fonction Flip et diminuée de un dans la fonction Flop. Ces deux modifications sont globales.
Vous pouvez également employer le mot-clé Public à la place de Dim pour déclarer une variable du domaine public :
Public A As Integer
Une variable du domaine public n'est accessible que durant l'exécution de la macro associée et est ensuite réinitialisée.
Variables globales
Du point de vue de leur fonction, les variables globales sont semblables aux variables du domaine public, si ce n'est que leurs valeurs sont conservées après l'exécution de la macro associée. Les variables globales sont déclarées dans la section d'en-tête d'un module avec le mot-clé Global :
Global A As Integer
Variables privées
Private ne sont accessibles que dans le module à l'intérieur duquel elles ont été définies. Pour définir une variable privée, utilisez le mot-clé Private :
Private MyInteger As Integer
Si plusieurs modules contiennent une variable Private portant le même nom, Apache OpenOffice Basic crée une variable différente pour chaque occurrence. Dans l'exemple suivant, chacun des modules A et B possède une variable Private appelée C. La fonction Test définit d'abord la variable Private dans le module A, puis la variable Private dans le module B.
Module A :
Private C As Integer
Sub Test
SetModuleA ' Sets the variable C from module A
SetModuleB ' Sets the variable C from module B
ShowVarA ' Shows the variable C from module A (= 10)
ShowVarB ' Shows the variable C from module B (= 20)
End Sub
Sub SetmoduleeA
C = 10
End Sub
Sub ShowVarA
MsgBox C ' Shows the variable C from module A.
End Sub
Module B :
Private C As Integer
Sub SetModuleB
C = 20
End Sub
Sub ShowVarB
MsgBox C ' Shows the variable C from module B.
End Sub
Content on this page is licensed under the Public Documentation License (PDL). |