Crystal Reports Designer  

Déclaration des variables de tableau (syntaxe Basic)

Il existe différentes manières de déclarer des variables de tableau. La première manière consiste à utiliser des parenthèses vides et déclarer explicitement le type du tableau :

'Déclarer x comme variable globale
'de type tableau numérique
Global x () As Number
'Initialiser x
x = Array (10, 20, 30)
'Déclarer y comme variable partagée
'de type tableau de plages de chaînes
Shared y () As String Range
'Initialiser y
y = Array ("A" To "C", "H" To "J")

La seconde manière consiste à déclarer la variable sans spécifier qu'il s'agit d'un tableau et sans donner son type, et attendre la première assignation de la variable pour spécifier complètement son type :

'Déclarer y comme variable locale
'mais sans spécifier son type
Dim y
'y est maintenant de type tableau de chaînes
y = Array ("Lun", "Mar", "Mer", "Jeu", "Ven", _
           "Sam", "Dim")

La troisième manière consiste à déclarer la variable en tant que tableau sans complètement spécifier son type jusqu'à la première assignation. En prenant compte de la déclaration de y ci-dessus :

'Déclarer z comme variable locale et tableau
Local z()
'z devient Array ("Mar", "Mer") et est un tableau de chaînes
z = y(2 to 3)

La quatrième manière consiste à spécifier complètement la taille du tableau durant la déclaration. Si vous utilisez cette technique, le tableau est automatiquement créé et les valeurs par défaut sont utilisées pour le remplir. Par exemple, pour un tableau de nombres, chaque élément est initialisé à 0 et pour un tableau de chaînes, chaque élément est initialisé comme chaîne vide "". Puisque ce type de déclaration crée le tableau, vous devez spécifier son type avec la clause As pour que Crystal Reports puisse déterminer la taille d'espace de stockage à réserver pour le tableau.

Dim a(2) As String
'Affecter une valeur au premier élément du tableau a
a(1) = "bon"
a(2) = "jour"
'L'opérateur & peut être utilisé pour concaténer les chaînes
'la formule renvoie la chaîne "bonjour"
formula = a(1) & a(2)

Affectation des valeurs aux éléments d'un tableau

Vous pouvez affecter des valeurs aux éléments d'un tableau et également les utiliser pour d'autres calculs.

Global x() As String
x = Array ("bonjour", "au revoir", "encore")
'x est maintenant Array ("bonjour", "une fois", "encore")
x (2) = "une fois"
'L'instruction ci-dessous provoquerait une erreur si elle
'n'était pas mise en commentaire car la dimension du tableau est 3
'x (4) = "zap"
'La formule renvoie la chaîne "BONJOUR"
formula = UCase (x (1))

Les mots clés Redim et Redim Preserve peuvent être utilisés pour redimensionner un tableau si vous voulez lui ajouter des données supplémentaires. Redim efface d'abord le contenu précédent du tableau avant de le redimensionner tandis que Redim Preserve conserve ce contenu.

Dim x () As Number
Redim x (2) 'x est maintenant Array (0, 0)
x (2) = 20 'x est maintenant Array (0, 20)
Redim x (3) 'x est maintenant Array (0, 0, 0)
x (3) = 30 'x est maintenant Array (0, 0, 30)
Redim Preserve x (4) 'x est maintenant Array (0, 0, 30, 0)
formula = "terminé"

Tableaux et boucles For/Next

Les tableaux sont couramment utilisés avec des boucles For/Next. L'exemple suivant crée puis utilise le tableau Array (10, 20, 30, ..., 100) à l'aide d'une boucle For/Next.

Dim b (10) As Number
Dim i
For i = 1 To 10
   b(i) = 10 * i
Next i
formula = b(2) 'La formule renvoie le nombre 20

Plusieurs variables peuvent être créées dans une instruction unique, en séparant leur déclaration par des virgules.

Voir aussi

Boucles For/Next