PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Accès aux tableaux associatifs
  • Accès aux éléments des tableaux associatifs
  • Comment initialiser un tableau associatif dès sa déclaration?
  • Parcours des tableaux associatifs
  • Fonctions du WLangage et tableaux
  • Paramètres de type tableau associatif
  • Tableau associatif de classes ou de structures
  • Tableau associatif de tableau, file, pile, liste
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
Tableau associatif (Type de variable)
En anglais : Associative array (Type of variable)
Un tableau associatif est un type "avancé" de tableau : il permet de regrouper une série d'éléments du même type. Chaque élément du tableau est indexé sur n'importe quel type d'information (et non plus simplement sur un indice numérique, comme dans les autres types de tableau).
Remarque : Ce type de tableau permet un accès rapide à un élément quelconque, avec certaines options sur les chaînes.
Versions 17 et supérieures
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
WEBDEV - Code Navigateur Cette fonctionnalité est disponible en code Navigateur.
Nouveauté 17
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
WEBDEV - Code Navigateur Cette fonctionnalité est disponible en code Navigateur.
iPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
WEBDEV - Code Navigateur Cette fonctionnalité est disponible en code Navigateur.
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
// Remplit un tableau associatif avec les tailles de fichiers
taTailleFichier est un tableau associatif d'entiers
taTailleFichier["Fichier1.txt"] = fTaille("Fichier1.txt")
taTailleFichier["Fichier2.txt"] = fTaille("Fichier2.txt")

// Récupère la taille d'un fichier
Trace(taTailleFichier["Fichier2.txt"])

// Parcours les tailles des fichiers
sFichier est une chaîne
nTaille est un entier
POUR TOUT ELEMENT nTaille,sFichier DE taTailleFichier
Trace(ChaîneConstruit("%1 : %2", sFichier, nTaille))
FIN
Syntaxe

Déclarer un tableau associatif Masquer les détails

<Nom du tableau> est un tableau associatif [(<Options> [, <Valeur par défaut> [, <Type de clé> [,<Taille initiale>]]])] de <Type>
<Nom du tableau> :
Nom de la variable tableau à déclarer.
<Options> :
Combinaison de constantes permettant de paramétrer le fonctionnement du tableau :
AvecDoublonCette constante permet d'autoriser les doublons. En effet, par défaut, un tableau associatif ne peut pas contenir de doublons.
ccSansAccentSi le type de clé est une chaîne (par défaut), l'indexation ne tient pas compte des accents.
Versions 17 et supérieures
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
Nouveauté 17
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
ccSansCasseSi le type de clé est une chaîne (par défaut), l'indexation ne tient pas compte de la casse.
ccSansEspaceSi le type de clé est une chaîne (par défaut), l'indexation ne tient pas compte des espaces.
ccSansPonctuationNiEspaceSi le type de clé est une chaîne (par défaut), l'indexation ne tient pas compte de la ponctuation et des espaces.
Versions 17 et supérieures
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
Nouveauté 17
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
WEBDEV - Code Navigateur Cette constante n'est pas disponible.
SansDoublon (valeur par défaut)Par défaut, un tableau associatif ne peut pas contenir de doublons.
Il est possible de ne pas indiquer cette constante.
La valeur "*" permet de conserver la valeur par défaut de l'option.
<Valeur par défaut> :
Valeur renvoyée lors de l'accès à un élément inexistant dans un tableau associatif sans doublon. Ce paramètre est ignoré dans un tableau associatif avec doublons. Par défaut, la valeur par défaut du type du tableau est utilisé (0, "", Faux).
La valeur "*" permet de conserver la valeur par défaut du type.
<Type de clé> :
Type de la clé utilisée pour parcourir le tableau. Par défaut, le parcours est réalisé sur une clé de type chaîne. Les types autorisés sont les suivants :
wlChaîneChaîne de caractères
Versions 16 et supérieures
wlChaîneUnicode
Nouveauté 16
wlChaîneUnicode
wlChaîneUnicode
Chaîne de caractères Unicode
wlDateDate
wlDateHeureDateHeure
wlEntierEntier signé sur 4 octets
wlEntier_8Entier signé sur 8 octets
wlEntierSansSigne_4Entier non signé sur 4 octets
wlEntierSansSigne_8Entier non signé sur 8 octets
wlHeureHeure
wlMonétaireMonétaire
wlNumériqueNumérique
wlRéelRéel sur 8 octets
La valeur "*" permet de conserver le type de clé par défaut (chaîne).
WEBDEV - Code Navigateur Ce paramètre n'est pas disponible.
<Taille initiale> :
Entier. Correspond à la taille initiale de la zone mémoire pour le tableau associatif.
L'ajout peut être long dans un tableau associatif en cas de redimensionnement du tableau. En cas d'ajouts multiples, il est conseillé de surdimensionner le tableau pour optimiser les ajouts.
La valeur "*" permet de conserver la taille par défaut.
WEBDEV - Code Navigateur Ce paramètre n'est pas disponible.
<Type> :
Type des éléments constituant le tableau.
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 associatif Masquer les détails

<Nom du paramètre> est un tableau associatif de <Type>
<Nom du paramètre> :
Nom de la variable tableau à déclarer.
<Type> :
Type des éléments constituant le tableau.
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.
Remarques

Accès aux tableaux associatifs

Pour manipuler un tableau associatif, il est possible d'utiliser les propriétés suivantes :
OccurrenceRenvoie le nombre d'occurrences dans le tableau.
VidePermet de savoir si le tableau est vide ou non.
Les syntaxes &Tableau et Tableau1 = Tableau2 sont interdites. La copie et la prise de référence sur les tableaux associatifs ne sont pas disponibles.

Accès aux éléments des tableaux associatifs

L'accès aux éléments des tableaux associatifs peut être différent si le tableau associatif est avec ou sans doublons.
Tableau associatif sans doublons
Versions 21 et supérieures
Propriété ..Existe
Nouveauté 21
Propriété ..Existe
Propriété ..Existe
MonTableau[MaClé]..Existe
Renvoie Vrai si l'élément MaClé existe, Faux sinon.
AndroidWidget Android Propriété non disponible.
Propriété ..VideMonTableau[MaClé]..Vide
Renvoie Vrai si l'élément MaClé n'existe pas, Faux sinon.
Propriété ..OccurrenceMonTableau[MaClé]..Occurrence
Renvoie 1 si l'élément MaClé existe, 0 si l'élément n'existe pas.
Affectation d'un élémentMonTableau[MaClé] = <Valeur>
Si l'élément MaClé n'existe pas, un élément MaClé est créé et affecté avec <Valeur>.
Si l'élément MaClé existe, sa valeur est modifiée.
MonTableau[MaClé, Indice] = Valeur
Si Indice est différent de 1, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, sa valeur est modifiée.

Syntaxe compatible avec tableaux associatifs avec doublons.
MonTableau[MaClé]++
Crée l'entrée dans le tableau associatif, avec la valeur par défaut spécifiée lors de la déclaration du tableau.
Accès à un élémentMonTableau[MaClé]
Si l'élément MaClé n'existe pas, renvoie la valeur par défaut du tableau.
Si l'élément MaClé existe, renvoie la valeur de l'élément.
MonTableau[MaClé, Indice]
Si Indice est différent de 1, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, renvoie la valeur de l'élément.

Syntaxe compatible avec tableaux associatifs avec doublons.
Adresse d'un élément&MonTableau[MaClé]
Si l'élément MaClé n'existe pas, affichage d'une erreur WLangage.
Si l'élément MaClé existe, renvoie l'adresse de l'élément.
WEBDEV - Code Navigateur Cette syntaxe n'est pas disponible.
&MonTableau[MaClé, Indice]
Si Indice est différent de 1, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, renvoie l'adresse de l'élément.

Syntaxe compatible avec tableaux associatifs avec doublons.
WEBDEV - Code Navigateur Cette syntaxe n'est pas disponible.
Tableau associatif avec doublons
Versions 21 et supérieures
Propriété ..Existe
Nouveauté 21
Propriété ..Existe
Propriété ..Existe
MonTableau[MaClé]..Existe
Renvoie Vrai si au moins un élément MaClé existe, Faux si l'élément MaClé n'existe pas.
AndroidWidget Android Propriété non disponible.
Test de l’existence d'une clé : Propriété ..VideMonTableau[MaClé]..Vide
Renvoie Vrai si l'élément MaClé n'existe pas, Faux si au moins un élément MaClé existe.
Nombre d'éléments d'une clé : Propriété ..OccurrenceMonTableau[MaClé]..Occurrence
Renvoie le nombre d'éléments MaClé.
Affectation d'un élémentMonTableau[MaClé] = <Valeur>
Crée un élément MaClé, et affecte cet élément avec la valeur indiquée (même si des éléments MaClé existent déjà).
MonTableau[MaClé, Indice] = Valeur
Si Indice est supérieur au nombre d'éléments existants, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, la valeur de l'élément connu par son indice est modifiée.
Accès à un élémentMonTableau[MaClé]
Syntaxe interdite, provoquant une erreur WLangage (car il peut y avoir plusieurs éléments correspondant à la même clé).
MonTableau[MaClé, Indice]
Si Indice est supérieur au nombre d'éléments existants, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, renvoie la valeur de l'élément connu par son indice.
Adresse d'un élément&MonTableau[MaClé]
Syntaxe interdite
&MonTableau[MaClé, Indice]
Si Indice est supérieur au nombre d'éléments existants, une erreur WLangage est affichée.
Si l'élément MaClé n'existe pas, une erreur WLangage est affichée.
Si l'élément MaClé existe, renvoie l'adresse de l'élément identifié par son indice.
WEBDEV - Code Navigateur Cette syntaxe n'est pas disponible.
Il est possible d'utiliser l'affectation multiple pour les tableaux associatifs.

Comment initialiser un tableau associatif dès sa déclaration?

Pour initialiser un tableau associatif dès sa déclaration, il suffit d'ajouter directement les couples "clé / valeur" en utilisant l’opérateur [ ] (crochet). La syntaxe est la suivante :
taMonTableau est un tableau associatif de xxx = ...
[ [<clé1>, <valeur1>], [<clé2>, <valeur2>], ... ]

Par exemple :
// Mémorise les taux de TVA par leur dénomination
taTauxTVA est un tableau associatif de réels = ...
[["Normale", 0.2], ["Intermédiaire", 0.1], ["Réduite", 0.055]]

Parcours des tableaux associatifs

Le parcours des différents éléments d'un tableau associatif peut être réalisé en utilisant la syntaxe POUR TOUT spécifique aux tableaux associatifs.

Fonctions du WLangage et tableaux

Plusieurs fonctions WLangage permettent de manipuler des tableaux associatifs. Pour plus de détails, consultez Fonctions de gestion des tableaux.
Il est ainsi par exemple possible de supprimer un élément d'un tableau associatif en utilisant la fonction Supprime (ou TableauSupprime) en utilisant la syntaxe suivante :
Supprime(NomTableau, clé)
TableauSupprime(NomTableau,Clé)

Paramètres de type tableau associatif

  • Le type des éléments du tableau associatif passé en paramètre doit être le même que celui de la déclaration.
  • Un tableau associatif ne peut pas être passé par valeur. Il faut obligatoirement passer une variable en paramètre.
    Exemple :
    // Ajoute un client dans le tableau
    PROCEDURE AjouteClient(taClient est un tableau associatif de CClient,
            sNom est une chaîne,
            sInfo est une chaîne)
    // Construit le nouvel objet client
    c est CClient(sNom, sInfo)
    // Ajoute le nouvel objet dans le tableau
    taClient[sNom] = c
  • Aucune vérification n'est effectuée à la compilation : les vérifications sont uniquement effectuées en exécution.
  • La copie et la prise de référence sur les tableaux associatifs ne sont pas disponibles.

Tableau associatif de classes ou de structures

Si vous utilisez un tableau associatif de classes ou de structures, les différentes instances sont automatiquement recopiées lors des ajouts.
Si vous utilisez un tableau associatif de classes dynamiques ou de structures dynamiques, il est nécessaire d'allouer les classes ou les structures au moment de l'ajout (les libérations sont automatiquement réalisées).
Exemples :
// Cas d'un tableau d'objets NON dynamiques
// Objet
clObj est un cLMaClasse
// Tableau associatif d'objets
taAssociatif est un tableau associatif de cLMaClasse
// Affectation d'un des membres de l'objet
clObj:nMembre = 0
// Ajout dans le tableau associatif.
// C'est un tableau d'objets non dynamiques, l'objet est donc copié
// L'affectation peut être "longue" s'il y a beaucoup de membres
taAssociatif["Association"] = clObj
// Changement dans l'objet initial
clObj:nMembre = 2
// L'objet a été copié on retrouve donc 0 dans le tableau
// (valeur au moment de l'affectation)
Info(taAssociatif["Association"]:nMembre)
// Cas d'un tableau d'objets dynamiques
// Objet dynamique
pclObj est un cLMaClasse dynamique
// Tableau associatif d'objets dynamiques
taAssociatif est un tableau associatif de cLMaClasse dynamique
// Allocation d'un objet dynamique
pclObj = allouer un cLMaClasse
// Affectation d'un des membres de l'objet
pclObj:nMembre = 0
// Ajout dans le tableau associatif.
// C'est un tableau d'objets dynamiques.
// C'est donc un nouveau "pointeur" sur le même objet (affectation rapide)
taAssociatif["Association"] = pclObj
// Changement dans l'objet initial
pclObj:nMembre = 2
// Le tableau contient le même objet donc 2 dans le tableau aussi
Info(taAssociatif["Association"]:nMembre)
Les accès aux membres d'un élément inexistant d'un tableau associatif de structures ou de classes ne créent pas automatiquement l'instance de la structure ou de la classe.
La ligne de code :
MonTableauAssociatif["Clé"]:Membre = 5
échoue si l'élément "Clé" n'a pas été créé auparavant.
Versions 20 et supérieures
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau associatif de tableau, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau associatif de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon) de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux d'entiers
<variable> est un tableau associatif de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon) de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux de 5 entiers

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

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

<variable> est un tableau associatif de files d'entiers
<variable> est un tableau associatif (avecDoublon) de files d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de files d'entiers

<variable> est un tableau associatif de piles d'entiers
<variable> est un tableau associatif (avecDoublon) de piles d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de piles d'entiers

<variable> est un tableau associatif de listes d'entiers
<variable> est un tableau associatif (avecDoublon) de listes d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de listes d'entiers
Exemple : Tableau associatif de tableaux de chaînes :
// Déclaration
tabClasses est un tableau associatif de tableau <agrandissement> de chaînes

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM2")

// Remplissage des élèves CM2
tabClasses["CM2"][1] = "ALARD Serge"
tabClasses["CM2"][2] = "BERTAU Kelian"

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM1")

// Remplissage des élèves CM1
tabClasses["CM1"][1] = "ALONSO Benoit"
tabClasses["CM1"][2] = "CRISTO Benjamin"

POUR TOUT UneClasse, sNom de tabClasses
POUR TOUT Elève DE UneClasse
Trace(sNom + ":" + Elève)
FIN
FIN
Nouveauté 20
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau associatif de tableau, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau associatif de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon) de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux d'entiers
<variable> est un tableau associatif de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon) de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux de 5 entiers

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

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

<variable> est un tableau associatif de files d'entiers
<variable> est un tableau associatif (avecDoublon) de files d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de files d'entiers

<variable> est un tableau associatif de piles d'entiers
<variable> est un tableau associatif (avecDoublon) de piles d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de piles d'entiers

<variable> est un tableau associatif de listes d'entiers
<variable> est un tableau associatif (avecDoublon) de listes d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de listes d'entiers
Exemple : Tableau associatif de tableaux de chaînes :
// Déclaration
tabClasses est un tableau associatif de tableau <agrandissement> de chaînes

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM2")

// Remplissage des élèves CM2
tabClasses["CM2"][1] = "ALARD Serge"
tabClasses["CM2"][2] = "BERTAU Kelian"

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM1")

// Remplissage des élèves CM1
tabClasses["CM1"][1] = "ALONSO Benoit"
tabClasses["CM1"][2] = "CRISTO Benjamin"

POUR TOUT UneClasse, sNom de tabClasses
POUR TOUT Elève DE UneClasse
Trace(sNom + ":" + Elève)
FIN
FIN
WINDEVWEBDEV - Code ServeurWindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Tableau associatif de tableau, file, pile, liste

Les syntaxes suivantes sont supportées :
<variable> est un tableau associatif de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon) de tableaux d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux d'entiers
<variable> est un tableau associatif de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon) de tableaux de 5 entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de tableaux de 5 entiers

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

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

<variable> est un tableau associatif de files d'entiers
<variable> est un tableau associatif (avecDoublon) de files d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de files d'entiers

<variable> est un tableau associatif de piles d'entiers
<variable> est un tableau associatif (avecDoublon) de piles d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de piles d'entiers

<variable> est un tableau associatif de listes d'entiers
<variable> est un tableau associatif (avecDoublon) de listes d'entiers
<variable> est un tableau associatif (avecDoublon,wlEntier) de listes d'entiers
Exemple : Tableau associatif de tableaux de chaînes :
// Déclaration
tabClasses est un tableau associatif de tableau <agrandissement> de chaînes

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM2")

// Remplissage des élèves CM2
tabClasses["CM2"][1] = "ALARD Serge"
tabClasses["CM2"][2] = "BERTAU Kelian"

// Insère un élément dans le tableau associatif
Insère(tabClasses, "CM1")

// Remplissage des élèves CM1
tabClasses["CM1"][1] = "ALONSO Benoit"
tabClasses["CM1"][2] = "CRISTO Benjamin"

POUR TOUT UneClasse, sNom de tabClasses
POUR TOUT Elève DE UneClasse
Trace(sNom + ":" + Elève)
FIN
FIN
Liste des exemples associés :
Les tableaux associatifs Exemples unitaires (WINDEV) : Les tableaux associatifs
[ + ] Utilisation des tableaux associatifs du WLangage :
- Remplir un tableau associatif
- Accéder à un tableau associatif
Version minimum requise
  • Version 11
Documentation également disponible pour…
Commentaires
Autre syntaxe pour l'insertion
Une autre syntaxe est possible pour éviter l'utilisation préalable (et obligatoire !) de l'instruction Insère() lorsque le tableau associatif est un tableau de tableau de chaine :

//Déclaration
tabClasses est un tableau associatif de tableau <agrandissement> de chaines

//Remplissage
tabClasses["CM2"] = ["ALARD Serge","BERTAU Kelian"]
tabClasses["CM1"] = ["ALONSO Benoit","CRISTO Benjamin"]
Fabien
27 fév. 2018