L4G >  Dela  

Afficher tout Masquer tout

Dela permet de supprimer des éléments dans des tableaux mono-dimensionnés, à partir d'un indice donné.

 

Syntaxe

   Dela début [ , nombre [ , borne ] ] liste_nom_var

 

Paramètres

Elément

Description

Restrictions

début

Expression numérique entière de l'indice dans les tableaux à partir duquel se fait la suppres- sion.

début doit :
- être au moins égal à la plus grande
des bornes inférieures des tableaux
- ne pas dépasser la plus petite des
bornes supérieures des tableaux.

nombre

Expression numérique entière du nombre d'éléments à supprimer.

nombre > 0

borne

Expression numérique entière de l'indice dans les tableaux où se termine la suppression.

borne ne doit pas dépasser la plus petite des bornes supérieures des tableaux.

liste_nom_var

Liste de nom_var séparées par le caractère ','.

Aucune.

nom_var

nom_de_variable désignant le tableau dans lequel s'effectue la suppression. Dans le cas d'un tableau déroulant, il s'agit de la variable de bas de tableau.

Aucune.

 

Exemples

# Suppression de lignes dans un tableau déroulant (dont la variable de
# bas de tableau a pour nom NLI) selon des paramètres variables

Dela [V]DEB, [V]NB, [V]FIN   [M]NLI

# On dispose de 2 tableaux d'éléments.  
# L'un (NOM) comporte les noms des fichiers, l'autre (CAR) les caractères "associés" :
 
 012345
CARAAHIVV
NOMansiat386hpibm3151vt200vt200
 
# Supposons que l'on veuille y supprimer 2 éléments en 3ème position
# (c'est-à-dire à partir du rang 2) :
 
Dela 2, 2    CAR, NOM
 
# Le résultat de cette instruction sera :
 0123
CARAAVV
NOMansiat386vt200vt200
 

# Supposons maintenant que la borne ait une valeur inférieure au
# nombre d'éléments des tableaux :

Dela 2, 2, 4   CAR, NOM

# Le résultat est alors :

 012345
CARAAV  V
NOMansiat386vt200  vt200

 

Description

Dela permet de supprimer des éléments (1 par défaut) dans un ensemble de tableaux mono-dimensionnés. Dans la syntaxe de l'instruction, début détermine l'indice (commun à tous les tableaux) où commence la suppression et nombre désigne le nombre d'éléments à supprimer.

Dans chaque tableau, les éléments sont 'décalés' vers la gauche depuis la fin du tableau (c'est la 'borne' par défaut) d'un nombre de positions égal à 'nombre'. Les 'nombre' derniers éléments du tableau sont mis à zéro.

Donner une valeur à borne qui soit inférieure à la plus petite des bornes inférieures des tableaux (une valeur supérieure n'aurait pas de sens) suppose que l'on s'intéresse à une restriction de ces tableaux. Dans ce cas, les 'nombre' éléments avant 'borne' (y compris 'borne') sont mis à zéro, les suivants ne sont pas modifiés. Le dessin qui suit simule la suppression de 'nombre' positions dans un tableau d'éléments, D désignant le 'début' et B la 'borne' (notons que l'élément d'indice D est perdu) :

D< perdus> B

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

D perdus

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)B

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

spacer.gif (822 octets)

Avant

I

I

...

I

P

P

...

P

D

D>

D

...

D

I

I

...

I

Après

I

I

...

I

D

D

D

...

D

spacer.gif (822 octets)

spacer.gif (822 octets)

...

spacer.gif (822 octets)

I

I

...

I

spacer.gif (822 octets)

Inchangés

Décalés

Nombre

Inchangés

 

Suppression de lignes dans un tableau déroulant

début détermine la ligne où commence la suppression. le numéro de ligne commence à 0. 
nombre
désigne le nombre de ligne à supprimer à supprimer. 
Pour que la ligne complète du tableau soit supprimée, on renseigne dans Liste_nom_var, la variable de bas de tableau. 
Borne n'est pas à renseigner, si on veut un tassement de toutes les lignes vers le haut. si toutefois, cela est nécessaire, on peut avoir un tassement partiel ou pas de tassement en précisant dans 'borne' la dernière ligne à prendre en compte pour le tassement. 

Attention, la variable de bas de tableau n'est pas mise à jour automatiquement par le moteur.

Erreurs associées

Erreur

Description

ERMODE (10)

début, nombre ou borne n'est pas numérique.

ERINDI ( 8)

L'un des indices sort des bornes de l'un destableaux.

ERDOM (50)

nombre <= 0.

ERDIM (55)

L'une des variables n'est pas mono-dimensionnée.

 

Mots-clés associés

SORTA - INSA