PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Autres types de tableaux
  • Procédure : Déclarer un paramètre de type tableau
  • Passer un tableau en paramètre à une procédure
  • Fonctions du WLangage et tableaux
  • Tableau de tableau, tableau associatif, file, pile, liste
  • Limites : Éléments d'un tableau
  • Tableaux dans les classes
  • Ajouter le contenu d'une structure dans un tableau de structures sans passer par une variable de cette structure
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
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.
Versions 16 et supérieures
Universal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
Nouveauté 16
Universal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
Universal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
Widget Android Cette fonctionnalité est disponible en mode Widget Android.
Nouveauté 18
Universal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
Widget Android Cette fonctionnalité est disponible en mode Widget Android.
Universal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
Widget Android Cette fonctionnalité est disponible en mode Widget Android.
Versions 21 et supérieures
Universal Windows 10 App Cette fonctionnalité est disponible en mode Universal Windows 10 App.
Apple Watch Cette fonctionnalité est disponible en mode Apple Watch.
Nouveauté 21
Universal Windows 10 App Cette fonctionnalité est disponible en mode Universal Windows 10 App.
Apple Watch Cette fonctionnalité est disponible en mode Apple Watch.
Universal Windows 10 App Cette fonctionnalité est disponible en mode Universal Windows 10 App.
Apple Watch Cette fonctionnalité est disponible en mode Apple Watch.
Exemple
// Déclare un tableau initialisé avec les noms des jours de la semaine
TableauJour est un tableau de chaînes = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"]
// Manipule le tableau
TableauJour[2] // Renvoie "Mardi"
// Déclare un tableau d'entiers
TableauValeur est un tableau d'entiers
// Remplit le tableau d'entiers par ajout des valeurs
Ajoute(TableauValeur, 5)
Ajoute(TableauValeur, 10)
Ajoute(TableauValeur, 15)
// Parcourt les valeurs du tableau
POUR TOUT x DE TableauValeur
// x vaut successivement 5, 10, 15
...
FIN
// Déclare un tableau d'entiers
TableauValeur est un tableau <agrandissement=1> d'entiers
// Agrandit le tableau pour insérer la valeur 1 : 10
TableauValeur[1] = 10
// Agrandit le tableau pour insérer la valeur 2 : 20
TableauValeur[2] = 20
// Agrandit le tableau pour insérer la valeur 3 : 30
TableauValeur[3] = 30
// Parcourt les valeurs du tableau
POUR TOUT x DE TableauValeur
// x vaut successivement 10, 20, 30
FIN
// Déclare un tableau d'entiers
TableauValeur est un tableau <agrandissement=N> d'entiers
// Agrandit le tableau pour insérer la valeur 1 : 10
TableauValeur[1] = 10
// Agrandit le tableau pour insérer la valeur 5 : 50
// Les valeurs 2, 3 et 4 sont initialisées à 0
TableauValeur[5] = 50
// Parcourt les valeurs du tableau
POUR TOUT x DE TableauValeur
// x vaut successivement 10, 0, 0, 0, 50
FIN
Versions 20 et supérieures
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Déclare un Tableau de tableau
tabMonTableau est un tableau de tableau de chaînes
nIndiceTab est un entier

nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Janvier")
Ajoute(tabMonTableau[nIndiceTab],"300")
nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Février")
Ajoute(tabMonTableau[nIndiceTab],"600")

Trace(tabMonTableau[1][1]) // Affiche "Janvier"
Trace(tabMonTableau[1][2]) // Affiche "300"
Nouveauté 20
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Déclare un Tableau de tableau
tabMonTableau est un tableau de tableau de chaînes
nIndiceTab est un entier

nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Janvier")
Ajoute(tabMonTableau[nIndiceTab],"300")
nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Février")
Ajoute(tabMonTableau[nIndiceTab],"600")

Trace(tabMonTableau[1][1]) // Affiche "Janvier"
Trace(tabMonTableau[1][2]) // Affiche "300"
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Déclare un Tableau de tableau
tabMonTableau est un tableau de tableau de chaînes
nIndiceTab est un entier

nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Janvier")
Ajoute(tabMonTableau[nIndiceTab],"300")
nIndiceTab = Ajoute(tabMonTableau)
Ajoute(tabMonTableau[nIndiceTab], "Février")
Ajoute(tabMonTableau[nIndiceTab],"600")

Trace(tabMonTableau[1][1]) // Affiche "Janvier"
Trace(tabMonTableau[1][2]) // Affiche "300"
Syntaxe
Versions 17 et supérieures

Déclarer un tableau à une dimension


<Nom du tableau> est [un] tableau [<agrandissement>] [ [<Dimension 1>] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau <agrandissement=N> [10] chaînes
tabEntier est un tableau [5] entiers
Nouveauté 17

Déclarer un tableau à une dimension


<Nom du tableau> est [un] tableau [<agrandissement>] [ [<Dimension 1>] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau <agrandissement=N> [10] chaînes
tabEntier est un tableau [5] entiers

Déclarer un tableau à une dimension


<Nom du tableau> est [un] tableau [<agrandissement>] [ [<Dimension 1>] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau <agrandissement=N> [10] chaînes
tabEntier est un tableau [5] entiers
<Nom du tableau> est [un] tableau [<agrandissement>] de [<Dimension>] <Type des éléments du tableau>
<Nom du tableau> :
Nom de la variable tableau à déclarer.
<agrandissement> :
Mode optionnel d'agrandissement du tableau :
  • rien (par défaut) ou "<agrandissement=0>" : le tableau n'est pas agrandi automatiquement. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6 ou 100, une erreur d'exécution sera levée.
  • "<agrandissement>" ou "<agrandissement=1>" : le tableau est automatiquement agrandi de 1 élément. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6, le tableau est automatiquement agrandi pour manipuler l'élément 6 ; si le programme accède à l'élément 100, une erreur d'exécution sera levée.
  • "<agrandissement=N>" : le tableau est automatiquement agrandi du nombre d'éléments nécessaires. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6, le tableau est automatiquement agrandi d'un élément pour manipuler l'élément 6 ; si le programme accède à l'élément 100, le tableau est automatiquement agrandi pour manipuler l'élément 100. Les éléments intermédiaires sont initialisés avec la valeur par défaut du type des éléments du tableau.
WEBDEV - Code Navigateur Cette fonctionnalité n'est pas gérée.
Remarque : Pour agrandir un tableau à plusieurs dimensions, utilisez la fonction Dimension.
<Dimension> :
Dimension optionnelle du tableau. Ce paramètre peut :
  • ne pas être précisé ou correspondre à * ou 0 : le tableau est initialisé vide.
  • correspondre à une valeur constante ou à une variable de type entier : le tableau est initialisé avec le nombre d'éléments indiqué. Chaque élément est initialisé avec la valeur par défaut de son type.
<Type des éléments du tableau> :
Type des éléments constituant le tableau. Voir les différents types de variables.
Versions 20 et supérieures
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Nouveauté 20
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Versions 17 et supérieures

Déclarer un tableau à plusieurs dimensions (10 maximum)


<Nom du tableau> est [un] tableau de [ [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau [10,20] chaînes
tabEntier est un tableau [3,5,2] entiers
Nouveauté 17

Déclarer un tableau à plusieurs dimensions (10 maximum)


<Nom du tableau> est [un] tableau de [ [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau [10,20] chaînes
tabEntier est un tableau [3,5,2] entiers

Déclarer un tableau à plusieurs dimensions (10 maximum)


<Nom du tableau> est [un] tableau de [ [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau [10,20] chaînes
tabEntier est un tableau [3,5,2] entiers
<Nom du tableau> est [un] tableau de [<Dimension 1> [par <Dimension 2>]...[par <Dimension 10>]] <Type des éléments du tableau>
OU
<Nom du tableau> est [un] tableau de [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] <Type des éléments du tableau>
<Nom du tableau> :
Nom de la variable tableau à déclarer.
<Dimension 1>...<Dimension 10> :
Dimension 1 à 10 du tableau. La valeur de la dimension peut correspondre à :
  • * ou 0 : la dimension est initialisée avec 0 élément.
  • une valeur constante ou une variable de type entier : la dimension est initialisée avec le nombre d'éléments indiqué. Chaque élément est initialisé avec la valeur par défaut de son type.
<Type des éléments du tableau> :
Type des éléments constituant le tableau. Voir les différents types de variables.
Versions 20 et supérieures
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Nouveauté 20
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.

Déclarer un paramètre de type tableau Masquer les détails

Tableau à une dimension :
<Nom du paramètre> est [un] tableau de [<Dimension>] <Type des éléments du tableau>


Tableau à 2 dimensions
<Nom du paramètre> est [un] tableau de <Dimension 1> par <Dimension 2> <Type des éléments du tableau>


Tableau à n dimensions
<Nom du paramètre> est [un] tableau de [<Dimension 1> [ par <Dimension 2>]...[ par <Dimension n>]] <Type des éléments du tableau>
<Nom du paramètre> :
Nom du paramètre de type tableau à déclarer.
<Dimension n> :
Le paramètre <Dimension> peut ne pas être précisé, correspondre à * , 0 ou une valeur constante.
<Type des éléments du tableau> :
Type des éléments constituant le tableau. Voir les différents types de variables.
Versions 20 et supérieures
Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Nouveauté 20
Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.

Faire référence à un tableau Masquer les détails

Faire référence à un élément d'un tableau à 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]
<Nom du tableau> :
Nom du tableau à 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).
Remarque : Il n'est pas possible de manipuler un tableau dans sa totalité. Par exemple, il n'est pas possible d'affecter un tableau avec un autre tableau.
Remarques

Autres types de tableaux

Le mot-clé Tableau permet de définir un tableau. D'autres types de tableaux "avancés" sont disponibles :
  • Tableau dynamique : Tableau alloué à la demande.
  • Tableau fixe : Tableau de taille fixe (conseillé pour les API Windows).
  • Tableau associatif : Tableau permettant de stocker des éléments indexés sur n'importe quel type d'information.

Procédure : Déclarer un paramètre de type tableau

Un tableau peut être passé en paramètre à une procédure. Par exemple :
// Ajoute un client dans le tableau
PROCEDURE AjouteClient(tabClient est un tableau de * CClient,
sNom est une chaîne,
sInfo est une chaîne)
// Construit le nouvel objet client
c est CClient(sNom, sInfo)
// Ajoute l'objet dans le tableau
Ajoute(tabClient, c)
Remarques :
  • Le type des éléments du tableau passé en paramètre doit être le même que celui de la déclaration.
  • Le nombre de dimensions du tableau passé en paramètre doit être le même que celui de la déclaration.
  • Le nombre d'éléments de chaque dimension du tableau passé en paramètre doit correspondre à la déclaration :
    • si le nombre d'éléments pour la dimension est *, aucune vérification n'est effectuée.
    • si le nombre d'éléments pour la dimension est indiqué, le nombre d'éléments doit être le même.
  • Aucune vérification n'est effectuée à la compilation : les vérifications sont uniquement effectuées en exécution.

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

Un tableau 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 de 10 par 50 chaînes
// Appel de la procédure AfficheTableau
AfficheTableau(TableauFourn)

Fonctions du WLangage et tableaux

Plusieurs fonctions WLangage permettent de manipuler des tableaux. Il est possible d'effectuer des tris, des recherches, etc. Pour plus de détails, consultez Fonctions de gestion des tableaux.
Versions 20 et supérieures
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau de tableau, tableau associatif, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau de tableaux d'entiers
<variable> est un tableau de tableaux de 5 entiers
<variable> est un tableau de 5 tableaux d'entiers
<variable> est un tableau de 5 tableaux de 5 entiers

<variable> est un tableau de tableaux fixes de 5 entiers
<variable> est un tableau de 5 tableaux fixes de 5 entiers

<variable> est un tableau de tableaux associatifs d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon,wlEntier) d'entiers
<variable> est un tableau de 5 tableaux associatifs d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon,wlEntier) d'entiers

<variable> est un tableau de files d'entiers
<variable> est un tableau de 5 files d'entiers

<variable> est un tableau de piles d'entiers
<variable> est un tableau de 5 piles d'entiers

<variable> est un tableau de listes d'entiers
<variable> est un tableau de 5 listes d'entiers
Nouveauté 20
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau de tableau, tableau associatif, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau de tableaux d'entiers
<variable> est un tableau de tableaux de 5 entiers
<variable> est un tableau de 5 tableaux d'entiers
<variable> est un tableau de 5 tableaux de 5 entiers

<variable> est un tableau de tableaux fixes de 5 entiers
<variable> est un tableau de 5 tableaux fixes de 5 entiers

<variable> est un tableau de tableaux associatifs d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon,wlEntier) d'entiers
<variable> est un tableau de 5 tableaux associatifs d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon,wlEntier) d'entiers

<variable> est un tableau de files d'entiers
<variable> est un tableau de 5 files d'entiers

<variable> est un tableau de piles d'entiers
<variable> est un tableau de 5 piles d'entiers

<variable> est un tableau de listes d'entiers
<variable> est un tableau de 5 listes d'entiers
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau de tableau, tableau associatif, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau de tableaux d'entiers
<variable> est un tableau de tableaux de 5 entiers
<variable> est un tableau de 5 tableaux d'entiers
<variable> est un tableau de 5 tableaux de 5 entiers

<variable> est un tableau de tableaux fixes de 5 entiers
<variable> est un tableau de 5 tableaux fixes de 5 entiers

<variable> est un tableau de tableaux associatifs d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de tableaux associatifs (avecDoublon,wlEntier) d'entiers
<variable> est un tableau de 5 tableaux associatifs d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon) d'entiers
<variable> est un tableau de 5 tableaux associatifs (avecDoublon,wlEntier) d'entiers

<variable> est un tableau de files d'entiers
<variable> est un tableau de 5 files d'entiers

<variable> est un tableau de piles d'entiers
<variable> est un tableau de 5 piles d'entiers

<variable> est un tableau de listes d'entiers
<variable> est un tableau de 5 listes d'entiers

Limites : Éléments d'un tableau

  • Un tableau peut être constitué de classes uniquement si ces classes possèdent un constructeur sans paramètres (ou avec des paramètres facultatifs).
  • Un tableau ne peut pas être constitué :
    • de variables composées,
    • de tableaux.
  • Un tableau ne peut pas être constitué de variables composées.
  • WEBDEV - Code NavigateurAndroidWidget AndroidJavaPHP Un tableau ne peut pas être constitué de tableaux.
  • Java Il n'est pas possible de créer des tableaux de classes ou de structures.

Tableaux dans les classes

Lors de copies d'instances de classes, tous les membres de la classe sont recopiés dans la nouvelle instance, sauf les tableaux. Ainsi, si la valeur d'un membre de type tableau est modifiée, cette valeur est modifiée dans toutes les instances.
Pour obtenir des tableaux indépendants dans toutes les instances de classes, il est nécessaire de déclarer un tableau local de la manière suivante :
ClasseSystème est une Classe
tTableauDéfaut est un tableau local de 1 entier
FIN

Ajouter le contenu d'une structure dans un tableau de structures sans passer par une variable de cette structure

Si vous utilisez un tableau de structures avec peu de membres, il peut être plus simple d'ajouter directement une structure en utilisant l'opérateur [ ] (crochet). Par exemple, pour la structure suivante :
// Structure pour mémoriser une lettre et son code ASCII
STTouche est une Structure
sTouche est une chaîne
nCodeAscii est un entier
FIN
// Tableau de structures
tabTouches est un tableau de STTouche
L'ajout se fait généralement en passant par une variable du type de la structure :
// Structure temporaire pour l'ajout
stUneTouche est un STTouche
// Mémorise la lettre A
stUneTouche.sTouche = "A"
stUneTouche.nCodeAscii = Asc("A")
tabTouches.Ajoute(stUneTouche)
Avec l'opérateur [ ], vous pouvez gagner en visibilité :
// Mémorise la lettre A
tabTouches.Ajoute(["A", Asc("A")])
Liste des exemples associés :
Utilisation des tableaux Exemples unitaires (WINDEV) : Utilisation des tableaux
[ + ] Utilisations du type tableau en WLangage.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire