DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Déclaration des variables
  • Libérer un tableau dynamique (optionnel)
  • Passer un tableau dynamique en paramètre à une procédure
  • Déclarer un membre de type tableau dynamique
  • Fonctions du WLangage et tableaux dynamiques
  • Limites : Éléments d'un tableau dynamique
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Un tableau dynamique est un type "avancé" de tableau : les dimensions de ce tableau sont allouées à la demande, au cours du programme. Dans la plupart des cas, un tableau "simple" est suffisant.
Rappel : Un tableau est un type structuré qui permet de regrouper une série d'éléments de même type. Chaque élément du tableau est accessible directement par son numéro d'ordre.
Il est conseillé d'utiliser :
  • Un tableau dynamique ou un tableau "simple" lorsque la taille du tableau doit être modifiée au cours du programme.
  • Un tableau fixe pour les API Windows.
  • Un tableau associatif pour stocker des éléments indexés sur n'importe quel type d'information.
Exemple
// Déclarer un tableau dynamique
TableauClient est un tableau dynamique
// Allouer un tableau dynamique
TableauClient est un tableau dynamique

TableauClient = allouer un tableau de 4 par 7 entiers
// Équivalent à : TableauClient = allouer un tableau de 4,7 entiers
// (A partir de la version 17) Équivalent à : TableauClient = allouer un tableau [4,7] entiers
// Faire référence à un tableau dynamique
TableauClient[2,5,3] = 47
// Équivalent à : TableauClient[2][5][3] = 47
Syntaxe

Déclarer un tableau dynamique Masquer les détails

<Nom du tableau dynamique> est [un] tableau dynamique
<Nom du tableau dynamique> :
Nom de la variable tableau dynamique à déclarer.

Allouer un tableau dynamique (syntaxe 1)


<Nom du tableau dynamique> = allouer [un] tableau [ <Dimension 1> [,<Dimension 2> ... [<Dimension 10>]] ] <Type des éléments du tableau>
Exemple :
TableauClient est un tableau dynamique
TableauClient = allouer un tableau [4,7] entiers

Allouer un tableau dynamique (syntaxe 2) Masquer les détails

<Nom du tableau dynamique> = allouer [un] tableau de <Dimension 1> [par <Dimension 2> ... [par <Dimension 10>]] <Type des éléments du tableau>

OU

<Nom du tableau dynamique> = allouer [un] tableau de <Dimension 1> [,<Dimension 2> ... [,<Dimension 10>]] <Type des éléments du tableau>
<Nom du tableau dynamique> :
Nom du tableau dynamique à manipuler. Ce tableau a été préalablement déclaré.
<Dimension 1>...<Dimension 10> :
Dimension 1 à 10 du tableau (valeur entière égale ou supérieure à 0).
<Type des éléments du tableau> :
Type des éléments constituant le tableau. Voir Les différents types du WLangage.

Faire référence à un tableau dynamique

Remarque : Pour faire référence à un tableau dynamique, ce tableau doit être alloué.

Faire référence à un tableau dynamique à une dimension

<Nom du tableau>[Indice1]

Faire référence à un élément d'un tableau à deux dimensions :

<Nom du tableau>[Indice1, Indice2]

OU

<Nom du tableau>[Indice1][Indice2]

Faire référence à un élément d'un tableau à n dimensions

<Nom du tableau>[Indice1,...,IndiceN]

OU

<Nom du tableau>[Indice1]...[IndiceN]

Passer un tableau en paramètre à une procédure : Masquer les détails

<Nom de la procédure>(<Nom du tableau>)
<Nom du tableau> :
Nom du tableau dynamique à manipuler.
<Indice1> :
Indice de l'élément pour la 1ère dimension.
<Indice2> :
Indice de l'élément pour la 2ème dimension.
<IndiceN> :
Indice de l'élément pour la Nième dimension (N <= 10).
Remarques

Libérer un tableau dynamique (optionnel)

Un tableau dynamique est automatiquement libéré en fin de vie de la variable (fermeture de la fenêtre par exemple) ou lors de l'allocation de nouvelles dimensions.
Pour libérer explicitement un tableau dynamique, utilisez la syntaxe suivante :
libérer <Nom du tableau dynamique>
Si la déclaration et l'allocation du tableau dynamique sont réalisées en une seule ligne de code, il ne faut pas utiliser le mot-clé Libérer pour libérer explicitement le tableau dynamique. Si le mot-clé Libérer est utilisé, une erreur d'exécution sera générée.

Passer un tableau dynamique en paramètre à une procédure

Un tableau dynamique peut être passé en paramètre à une procédure. Pour cela, utilisez la syntaxe suivante :
<Nom de la procédure>(<Nom du tableau>)
Par exemple :
TableauFourn est un tableau dynamique
TableauFourn = allouer un tableau de 10 par 50 chaînes de caractères
// Appel de la procédure AfficheTableau
AfficheTableau(TableauFourn)

Déclarer un membre de type tableau dynamique

Il est possible de déclarer un membre de type "tableau dynamique" dans :
  • une structure,
  • une variable composée,
  • une classe.
L'allocation du tableau dynamique doit être effectuée à la suite de la déclaration de la structure ou de la variable composée.
Par exemple :
// Déclaration d'une structure
Struct est une Structure
	x1 est un entier
	x2 est un tableau dynamique		// Déclaration du tableau
FIN

// Déclaration d'une variable de type structure
MaStruct est une Struct
// Allocation du tableau
x2 = allouer un tableau dynamique de 4,7 entiers
Dans le cas d'une classe, la déclaration doit être réalisée dans le code de déclaration de classe et l'allocation doit être réalisée dans le constructeur de la classe.

Fonctions du WLangage et tableaux dynamiques

Plusieurs fonctions WLangage permettent de manipuler des tableaux dynamiques. Il est par exemple possible d'effectuer des tris, des recherches, etc. Pour plus de détails, consultez Fonctions de gestion des tableaux.

Limites : Éléments d'un tableau dynamique

  • Un tableau dynamique peut être constitué de classes uniquement si ces classes possèdent un constructeur sans paramètre (ou avec des paramètres facultatifs).
  • Un tableau dynamique ne peut pas être constitué :
    • de variables composées,
    • de tableaux.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 03/04/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale