Instruction Dim

Déclare des variables ou des tableaux

Si les variables sont séparées par des virgules - par exemple Dim v1, v2, v3 As String - les premières sont définies comme variables Variant. Une nouvelle ligne, ou signe deux-points (: ), aide à séparer les définitions de variables.


  Dim text As String
  Dim pv As com.sun.star.beans.PropertyValue, d As Date
  Dim Units as Integer : Dim EULER As Double

Dim déclare des variables locales dans les sous-programmes. Les variables globales sont déclarées avec l'instruction Global, Public ou Private.

Syntaxe :

Diagramme de l'instruction Dim


Dim variable [(début à fin)] [As typename][, variable2[char] [(début à fin)] [,...]]

Paramètres :

variable:Tout nom de variable ou de tableau.

typename: Mot clé qui déclare le type de données d'une variable.

fragment de types de données primitif

Byte: Variable de type octet (0-255)

Boolean: Variable de type booleen (True, False)

Currency: Variable de type devise (Devise 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 objet (Remarque: cette variable ne peut être définie par la suite qu'avec 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:Type de variable variant (contient tous les types, spécifiés par définition). Si aucun nom de type n'est spécifié, les variables sont automatiquement définies comme Type Variant, sauf si une instruction de DefBool à DefVar est utilisée.

object: Objet Universal Network object (UNO) ou instance de ClassModule.

char: Caractère spécial qui déclare le type de données d'une variable.

Fragment de caractères de déclaration de type

Dans LibreOffice Basic, vous n'avez pas besoin de déclarer explicitement des variables. Cependant, vous devez déclarer des tableaux avant de pouvoir les utiliser. Vous pouvez déclarer une variable avec l'instruction Dim, en utilisant des virgules (, ) pour séparer plusieurs déclarations. Pour déclarer un type de variable, entrez un caractère de déclaration de type après le nom ou utilisez un nom de mot-clé de type correspondant.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


array: Déclaration de tableau.

fragment de matrice

start, end: Valeurs numériques ou constantes qui définissent le nombre d'éléments (NombreElements = (end-start) +1) et la plage d'index.

start and end peuvent être des expressions numériques si ReDim est appliqué dans la procédure.

LibreOffice 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 tableaux sont déclarés avec l'instruction Dim. Il existe plusieurs façons de définir la plage d'index :


  Dim text(20) As String ' 21 éléments numérotés de 0 à 20
  Dim value(5 to 25) As Integer ' 21 valeurs numérotées de 5 à 25
  Dim montant(-15 to 5) As Currency ' 21 montants(0 inclus),numérotés de  -15 à 5
  REM Champ de données bidimensionnel
  Dim table$(20,2) ' 63 items; de 0 à 20 niveau 1, de 0 à 20 niveau 2 et de  0 à 20 niveau 3.

Vous pouvez déclarer un type de tableau dynamique si une instruction ReDim définit le nombre de dimensions dans le sous-programme ou la fonction qui contient le tableau. En règle générale, vous ne pouvez définir une dimension de tableau qu'une seule fois et vous ne pouvez pas la modifier. Dans un sous-programme, vous pouvez déclarer un tableau avec ReDim. Vous ne pouvez définir des dimensions qu'avec des expressions numériques. Cela garantit que les champs sont aussi grands que 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

Aidez-nous !