PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Propriétés WLangage utilisables avec le type Liste
  • Fonctions WLangage de gestion des listes
  • Les listes et le multithread
  • Parcours des listes
  • Cas particuliers
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
Une variable de type Liste est un type structuré qui permet de regrouper une série d'éléments du même type. Les éléments peuvent être ajoutés à la fin de la liste ou être insérés dans la liste.
Versions 18 et supérieures
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App Ce type de variable est désormais disponible en mode Windows Store apps.
Nouveauté 18
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App Ce type de variable est désormais disponible en mode Windows Store apps.
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App Ce type de variable est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Android Ce type de variable est désormais disponible pour les applications Android.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
WINDEVJava Ce type de variable est désormais disponible pour les applications Java.
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Nouveauté 21
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Android Ce type de variable est désormais disponible pour les applications Android.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
WINDEVJava Ce type de variable est désormais disponible pour les applications Java.
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Android Ce type de variable est désormais disponible pour les applications Android.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
WINDEVJava Ce type de variable est désormais disponible pour les applications Java.
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Syntaxe

Déclarer et initialiser une liste Masquer les détails

<Nom de la liste> est [une] Liste de <Type des éléments de la liste>
<Nom de la liste> :
Nom de la variable liste à déclarer.
<Type des éléments de la liste> :
Type des éléments constituant la liste.
Tous les types de variables peuvent être utilisé SAUF les tableaux, les tableaux associatifs, les files, les piles et les listes.
Versions 20 et supérieures
Tous les types de variables peuvent être utilisés y compris les tableaux, les tableaux associatifs, les files, les piles et les listes. Par exemple :
<variable> est une Liste de tableaux d'entiers

<variable> est une Liste de tableaux fixes de 5 entiers

<variable> est une Liste de tableaux associatifs d'entiers

<variable> est une Liste de Files d'entiers

<variable> est une Liste de Piles d'entiers

<variable> est une Liste de Listes d'entiers
Nouveauté 20
Tous les types de variables peuvent être utilisés y compris les tableaux, les tableaux associatifs, les files, les piles et les listes. Par exemple :
<variable> est une Liste de tableaux d'entiers

<variable> est une Liste de tableaux fixes de 5 entiers

<variable> est une Liste de tableaux associatifs d'entiers

<variable> est une Liste de Files d'entiers

<variable> est une Liste de Piles d'entiers

<variable> est une Liste de Listes d'entiers
Tous les types de variables peuvent être utilisés y compris les tableaux, les tableaux associatifs, les files, les piles et les listes. Par exemple :
<variable> est une Liste de tableaux d'entiers

<variable> est une Liste de tableaux fixes de 5 entiers

<variable> est une Liste de tableaux associatifs d'entiers

<variable> est une Liste de Files d'entiers

<variable> est une Liste de Piles d'entiers

<variable> est une Liste de Listes d'entiers
Remarques

Propriétés WLangage utilisables avec le type Liste

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type Liste.
Nom de la propriétéEffet
OccurrenceRenvoie le nombre d'occurrences de la variable de type Liste.
Vide
  • Vrai si la liste est vide,
  • Faux dans le cas contraire.
Remarque : Ces propriétés peuvent être utilisées avec une des deux syntaxes suivantes :
  • <Nom de la variable>..<Nom de la propriété>
  • <Nom de la variable>.<Nom de la propriété>

Fonctions WLangage de gestion des listes

Les fonctions suivantes peuvent être utilisées pour manipuler une variable de type liste.
Versions 14 et supérieures
Ajoute
Nouveauté 14
Ajoute
Ajoute
Ajoute un élément en dernière position :
  • d'un tableau WLangage à une dimension.
  • d'une propriété tableau d'un type avancé (tableau des événements de gglAgenda, ...).
  • d'une liste WLangage.
Versions 10 et supérieures
Désérialise
Nouveauté 10
Désérialise
Désérialise
Désérialise un buffer ou une chaîne de caractères contenant les données d'une classe, d'une structure, d'un tableau (y compris un tableau associatif), d'une file, d'une pile, une liste ou une variable d'un type avancé et leurs sous-éléments.
Versions 14 et supérieures
Insère
Nouveauté 14
Insère
Insère
Insère un élément à une position donnée :
  • dans un tableau WLangage à une dimension.
  • dans un tableau associatif.
  • dans une propriété tableau d'un type avancé (tableau des événements de gglAgenda, ...).
  • dans une liste WLangage.
Versions 16 et supérieures
ListeInfo
Nouveauté 16
ListeInfo
ListeInfo
Récupère les caractéristiques d'une liste WLangage : types des éléments et nombre d'éléments.
Versions 10 et supérieures
Sérialise
Nouveauté 10
Sérialise
Sérialise
Transforme les éléments suivants dans un format spécifique :
  • une structure (et ses sous-éléments),
  • une classe (et ses sous-éléments),
  • un tableau (y compris les tableaux associatifs),
  • une file,
  • une pile,
  • une liste.
Versions 14 et supérieures
Supprime
Nouveauté 14
Supprime
Supprime
Supprime un élément à une position donnée :
  • dans un tableau WLangage à une dimension.
  • dans une propriété tableau d'un type avancé (tableau des événements de gglAgenda, ...).
  • dans un tableau associatif.
  • dans une liste WLangage.
Versions 14 et supérieures
SupprimeTout
Nouveauté 14
SupprimeTout
SupprimeTout
Supprime tous les éléments :
  • d'un tableau WLangage à une dimension ou deux dimensions.
  • d'un tableau associatif.
  • de la propriété tableau d'un type avancé (tableau des événements de gglAgenda, ...).
  • d'une file WLangage.
  • d'une pile WLangage.
  • d'une liste WLangage.

Les listes et le multithread

La gestion du multithread est prise en compte lors de l'ajout, l'insertion et de la suppression d'un élément.
Il est également possible d'utiliser les propriétés lors d'une gestion multithread mais le résultat n'est pas permanent. Par exemple :
SI MaListe..Occurrence > 0 ALORS
        // Quand le thread arrive ici, la liste peut être vide
FIN

Parcours des listes

Il est possible d'utiliser la syntaxe POUR TOUT pour parcourir les listes.
La syntaxe utilisée correspond à celle utilisée pour les tableaux :
POUR TOUT [ELEMENT] <Variable> [, <Compteur> [, <Compteur>]] DE <Liste> [<Sens>]
...
FIN
Les éléments peuvent être modifiés pendant le parcours. En cas de modification de la liste pendant un parcours, le parcours est affecté par les opérations d'ajout et de suppression. Les fonctions disponibles pendant le parcours sont les suivantes :
  • Syntaxe 1 :
    Insère(<Nom de la liste>, AvantElémentCourant, <Valeur>)

    Attention : l'élément sera parcouru par l'itération suivante si la boucle est descendante.
  • Syntaxe 2 :
    Insère(<Nom de la liste>, AprèsElémentCourant, <Valeur>)

    Attention : l'élément sera parcouru par l'itération suivante si la boucle est ascendante.
  • Syntaxe 3 :
    Supprime(<Nom de la liste>, ElémentCourant)

Cas particuliers

  • Le contenu de la liste peut être affiché sous le débogueur.
  • Une liste peut être utilisée pour typer un paramètre de procédure.
  • Une liste peut être copiée avec l'opérateur =. Il est également possible de copier une instance de classe ou de structure contenant une liste.
  • Une liste peut être initialisée par une liste d'éléments.
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
initialisation
Quelle est la syntaxe pour initialiser la liste lors de sa déclaration ?
Nicolas
15 avr. 2016