Instruction Dim
Déclare une variable ou une matrice.
Si les variables sont sĂ©parĂ©es par des virgules (par exemple DIM sPar1, sPar2, sPar3 AS STRING), seules les variables de variant peuvent ĂȘtre dĂ©finies. Utilisez une ligne de dĂ©finition pour chaque variable.
Dim sPar1 As String
Dim sPar2 As String
Dim sPar3 As String
Dim déclare les variables locales dans des sous-routines. Les variables globales sont déclarées avec l'instruction PUBLIC ou PRIVATE.
Syntaxe :
[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]
ParamĂštres :
VarName : tout nom de variable ou de matrice.
Start, End : valeurs numériques ou constantes définissant le nombre d'éléments (NumberElements=(end-start)+1) et la plage d'index.
Si ReDim est appliquĂ©e au niveau de la procĂ©dure, les paramĂštres Start et End peuvent ĂȘtre des expressions numĂ©riques.
VarType : mot-clé déclarant le type de données d'une variable.
Keyword : type de variable
Bool : variable logique (True, False)
Currency : variable au format monétaire (monnaie avec 4 décimales)
Date : variable de date
Double : variable à virgule flottante double précision (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)
Integer : variable au format nombre entier (-32768 - 32767)
Long : variable au format nombre entier long (-2.147.483.648 - 2.147.483.647)
Object : variable d'objet (Remarque : cette variable peut uniquement ĂȘtre dĂ©finie par la suite avec le mot-clĂ© Set !)
Single : variable à virgule flottante simple précision (3,402823 x 10E38 - 1,401298 x 10E-45).
String : variable de chaĂźne comprenant au maximum 64 000 caractĂšres ASCII.
[Variant] : variable de type variant (contient tous les types spécifiés dans la définition). Si aucun mot-clé n'est spécifié, les variables sont automatiquement définies comme étant de type variant, excepté si une instruction de DefBool à DefVar est utilisée.
Dans LibreOfficeDev Basic, il n'est pas nécessaire de déclarer les variables explicitement. Toutefois, vous devez déclarer une matrice avant de pouvoir les utiliser. Vous pouvez déclarer une variable avec l'instruction Dim en utilisant des virgules pour séparer les différentes déclarations. Pour déclarer un type de variable, saisissez le caractÚre de déclaration de type aprÚs son nom ou utilisez le mot-clé correspondant.
LibreOfficeDev Basic supporte les matrices unidimensionnelles ou multidimensionnelles dĂ©finies par un type de variable spĂ©cifiĂ©. Les matrices peuvent ĂȘtre utilisĂ©es si le programme comprend des listes ou des tables Ă Ă©diter. L'avantage des matrices est qu'elles permettent d'appeler des Ă©lĂ©ments individuels Ă partir d'index, lesquels peuvent ĂȘtre formulĂ©s comme expressions numĂ©riques ou variables.
Les matrices sont déclarées avec l'instruction Dim. Il existe deux méthodes pour définir la plage d'index :
DIM text(20) as String REM 21 éléments numérotés de 0 à 20
DIM text(5 to 25) as String REM 21 éléments numérotés de 5 à 25
DIM text(-15 to 5) as String REM 21 éléments (0 compris)
REM Numérotés de -15 à 5
Champ de données en deux dimensions
DIM text(20,2) as String REM 63 éléments ; de 0 à 20 niveau 1, de 0 à 20 niveau 2 et de 0 à 20 niveau 3.
Vous pouvez dĂ©clarer un type de matrice comme dynamique si une instruction ReDim dĂ©finit le nombre de dimensions dans la sous-routine ou la fonction contenant la matrice. En rĂšgle gĂ©nĂ©rale, la dimension de la matrice ne peut ĂȘtre dĂ©finie qu'une seule fois et vous ne pouvez pas la modifier. Dans une sous-routine, vous pouvez dĂ©clarer une matrice avec l'instruction ReDim. Vous ne pouvez dĂ©finir les dimensions qu'avec des expressions numĂ©riques. Cela garantit que les champs ne dĂ©passent pas la taille nĂ©cessaire.
Exemple :
Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
sVar = "Office"
End Sub
Sub ExampleDim2
' Champ de données en deux dimensions
Dim stext(20,2) As String
Const sDim as String = " Dimension :"
For i = 0 To 20
For ii = 0 To 2
stext(i,ii) = str(i) & sDim & str(ii)
Next ii
Next i
For i = 0 To 20
For ii = 0 To 2
MsgBox stext(i,ii)
Next ii
Next i
End Sub