PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Affectation multiple des tableaux
  • Syntaxe
  • Tableau de valeurs
  • Exemples
  • Affectation multiple des tableaux associatifs
  • Syntaxe
  • Exemple
  • Affectation multiple des structures et classes
  • Syntaxe
  • Remarques
  • Exemple
  • Imbrication
  • Césure
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
Présentation
L'affectation multiple des tableaux consiste à pouvoir affecter une série de valeurs de type simple (booléens, entiers, chaînes, réels, numériques, monétaires) aux cases d'un tableau.
Cette affectation multiple est également disponible pour les structures et les classes.
Versions 15 et supérieures
Java L'affectation multiple est disponible pour les applications Java.
Nouveauté 15
Java L'affectation multiple est disponible pour les applications Java.
Java L'affectation multiple est disponible pour les applications Java.
Versions 16 et supérieures
Universal Windows 10 App L'affectation multiple est disponible pour les applications Windows Phone.
Nouveauté 16
Universal Windows 10 App L'affectation multiple est disponible pour les applications Windows Phone.
Universal Windows 10 App L'affectation multiple est disponible pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad L'affectation multiple est disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad L'affectation multiple est disponible pour les applications iPhone/iPad.
iPhone/iPad L'affectation multiple est disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App L'affectation multiple est disponible en mode Windows Store apps.
Widget Android L'affectation multiple est disponible en mode Widget Android.
Nouveauté 18
Universal Windows 10 App L'affectation multiple est disponible en mode Windows Store apps.
Widget Android L'affectation multiple est disponible en mode Widget Android.
Universal Windows 10 App L'affectation multiple est disponible en mode Windows Store apps.
Widget Android L'affectation multiple est disponible en mode Widget Android.
Versions 21 et supérieures
Universal Windows 10 App L'affectation multiple est désormais disponible en mode Universal Windows 10 App.
Apple Watch L'affectation multiple est désormais disponible en mode Apple Watch.
Nouveauté 21
Universal Windows 10 App L'affectation multiple est désormais disponible en mode Universal Windows 10 App.
Apple Watch L'affectation multiple est désormais disponible en mode Apple Watch.
Universal Windows 10 App L'affectation multiple est désormais disponible en mode Universal Windows 10 App.
Apple Watch L'affectation multiple est désormais disponible en mode Apple Watch.
Affectation multiple des tableaux

Syntaxe

  • Tableau à 1 dimension :
    <Tableau à 1 dimension> = [ <Valeur 1>, <Valeur 2>, ...]
  • Tableau à 2 dimensions :
    <Tableau à 2 dimensions> = [ [ <Valeur 1 1>, <Valeur 1 2>, ...],
    [ <Valeur 2 1>, <Valeur 2 2>, ...],
    ...
    ]
  • Tableau à 3 dimensions :
    <Tableau à 3 dimensions> = [ [ [ <Valeur 1 1 1>, <Valeur 1 1 2>, ...],
    [ <Valeur 1 2 1>, <Valeur 1 2 2>, ...], ... ],
    [ [ <Valeur 2 1 1>, <Valeur 2 1 2>;, ...],
    [ <Valeur 2 2 1>, <Valeur 2 2 2>, ...], ... ],
    ...
    ]

Tableau de valeurs

Chaque série de valeurs représente une dimension du tableau de valeurs. Il est possible d'imbriquer des séries de valeurs pour créer un tableau de valeurs à plusieurs dimensions.
Les nombres de dimensions du tableau de valeurs doivent être cohérents : chaque dimension doit avoir le même nombre de sous-dimensions. Cependant, il est possible d'avoir un nombre d'éléments différent pour chaque dimension.
Exemples :
// Tableau de valeurs interdit :
// La première valeur de la série possède une sous-dimension
// La seconde valeur de la série ne possède pas de sous-dimension
[[ <Valeur 1 1>, <Valeur 1 2> ], <Valeur 2> ]
// Tableau de valeurs autorisé :
// Toutes les valeurs de la série possèdent une sous-dimension
// Chaque sous-dimension a un nombre différent d'éléments
[[ <Valeur 1 1>, [ <Valeur 2 1>, <Valeur 2 2>, <Valeur 2 3> ],
[<Valeur 3 1>, <Valeur 3 2> ]]
Les dimensions du tableau de valeurs doivent correspondre aux dimensions du tableau à affecter.
Si les dimensions du tableau à affecter sont insuffisantes pour stocker les éléments du tableau de valeurs, le tableau à affecter est automatiquement agrandi.
Dans le cas d'un tableau fixe, si les dimensions du tableau à affecter sont insuffisantes pour stocker les éléments du tableau de valeurs, le tableau de valeurs est tronqué.
Si les dimensions du tableau à affecter sont plus grandes que celles du tableau de valeurs, les éléments non affectés conservent leurs valeurs précédentes.

Exemples

// Tableau des puissances de 2
Puissance2 est un tableau de 0 entiers
Puissance2 = [1, 2, 4, 8, 16, 32, 64, 128, 256]
// Tableau des nombres de jours par mois
// Ligne 1 : année non bissextile
// Ligne 2 : année bissextile
NombreJours est un tableau de 2 par 12 entiers
NombreJours = [[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]]
Affectation multiple des tableaux associatifs

Syntaxe

<Tableau associatif> = [ [ <Clé1>, <Valeur1> ],
[ <Clé2>, <Valeur2> ],
...
]
Le tableau de valeurs ne doit comporter que 2 couples (Clé, Valeur).
Chaque couple est affecté au tableau associatif en utilisant l'équivalent de la syntaxe : TableauAssociatif[Clé] = Valeur.
Pour un tableau associatif sans doublons :
  • Si la clé n'existe pas encore, la valeur est ajoutée.
  • Si la clé existe déjà, la valeur est modifiée.
Pour un tableau associatif avec doublons, toutes les valeurs sont ajoutées.

Exemple

// Tableau associatif des acronymes de pays
Pays est un tableau associatif de chaînes
Pays = [["FR", "France"], ["US", "Etats-Unis"], ["DE", "Allemagne"]]
Affectation multiple des structures et classes

Syntaxe

  • Structure :
    <Instance structure> = [ <Membre 1>, <Membre 2>, ...]
  • Classe :
    <Instance Classe> = [ <Membre 1>, <Membre 2>, ...]

Remarques

  • Les membres sont affectés dans l'ordre de déclaration.
  • Dans le cas des classes, les héritages sont ignorés : ce sont les membres de la classe qui sont directement affectés.
  • Limitation : cette syntaxe ne fonctionne pas sur les structures et les classes dynamiques.
  • WEBDEV - Code Navigateur Les structures et les classes ne sont pas disponibles en code navigateur.

Exemple

Département est une Structure
Nom est une chaîne
Numéro est un entier
Préfecture est une chaîne
FIN

Allier est un Département = ["Allier", 3, "Moulins"]
Imbrication
Il est possible d'utiliser les syntaxes d'affectation multiple sur des tableaux de structures, des instances de structures contenant des tableaux, ...
Département est une Structure
Nom est une chaîne
Numéro est un entier
Préfecture est une chaîne
FIN

TabDépartement est un tableau de 0 Département
TabDépartement = [["Ain", 1, "Bourg-en-Bresse"],
["Aisne", 2, "Laon"],
["Allier", 3, "Moulins"]]

TabNomDépartement est un tableau associatif de Département
TabNomDépartement = [["Ain", ["Ain", 1, "Bourg-en-Bresse"]],
["Aisne", ["Aisne", 2, "Laon"]],
["Allier", ["Allier", 3, "Moulins"]]]
Césure
Il est possible de décrire les tableaux de valeurs avec des passages à la ligne sans utiliser la syntaxe de césure (... triple point).
La syntaxe de césure est cependant indispensable pour passer à la ligne après le premier crochet ouvrant. Par exemple :
Département est une Structure
Nom est une chaîne
Numéro est un entier
Préfecture est une chaîne
FIN

Allier est un Département = [...
"Allier", 3, "Moulins"]
Il est également possible de laisser une virgule avant un crochet fermant :
NombreJours = [[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
]
Version minimum requise
  • Version 11
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire