Fonction DELETE

Syntaxe

DELETE (dynamic.array, field#[ ,value#[ ,subvalue#] ] )

Description

La fonction DELETE permet d'effacer d'un tableau dynamique le contenu d'une rubrique, d'une valeur ou d'une sous-valeur spécifiée, ainsi que le délimiteur correspondant. La fonction DELETE renvoie le contenu du tableau dynamique en supprimant les données spécifiées sans modifier la valeur réelle du tableau dynamique.

dynamic.array est une expression qui évalue le tableau dans lequel se trouve le champ, la valeur ou la sous-valeur à supprimer. Si dynamic.array est évalué à la valeur null, null est renvoyé.

field# est une expression qui évalue le champ dans le tableau dynamique ; value# est une expression qui évalue la valeur dans le champ ; subvalue# est une expression qui évalue la sous-valeur dans la valeur. Les valeurs numériques des délimiteurs précisent le champ, la valeur ou la sous-valeur à supprimer. La position entière est supprimée, y compris les caractères de délimitation.

la valeur# et la sous-valeur# sont facultatives. S'ils sont égaux à 0, le champ entier est supprimé. Si subvalue# est égal à 0 et que value# et field# sont supérieurs à 0, la valeur spécifiée dans le champ spécifié est supprimée. Si les trois expressions du délimiteur sont supérieures à 0, seule la sous-valeur spécifiée est supprimée.

Si l'une des expressions du délimiteur est la valeur nulle, la fonction DELETE échoue et le programme se termine par un message d'erreur d'exécution.

Si une expression délimitante de niveau supérieur a une valeur de 0 alors qu'un délimiteur de niveau inférieur est supérieur à 0, le délimiteur 0 est traité comme s'il était égal à 1. Les expressions délimitantes sont, de la plus élevée à la plus basse : champ, valeur et sous-valeur.

Si la fonction DELETE fait référence à un élément subordonné d'un élément supérieur dont la valeur est la valeur null, le tableau dynamique reste inchangé. De même, si toutes les expressions de délimitation sont égales à 0, la chaîne originale est renvoyée.

Exemples

Dans les exemples suivants, une marque de champ est représentée par F, une marque de valeur est représentée par V et une marque de sous-valeur est représentée par S.

Le premier exemple supprime le champ 1 et attribue à Q la valeur VAL1VSUBV1SSUBV2FFSUBV3SSUBV4 :

R="FLD1":@FM:"VAL1":@VM:"SUBV1":@SM:"SUBV2":@FM:@FM:"SUBV3":
@SM:"SUBV4"
Q=DELETE (R,1)

L'exemple suivant supprime la première sous-valeur du champ 4 et attribue la valeur FLD1FVAL1VSUBV1SSUBV2FFSUBV4 à la valeur Q :

Q=DELETE (R,4,1,1)

L'exemple suivant supprime la deuxième valeur du champ 2 et fixe la valeur de Q à FLD1FVAL1FFSUBV3SSUBV4 :

Q=DELETE (R,2,2)

L'exemple suivant supprime entièrement le champ 3 et fixe la valeur de Q à FLD1FVAL1VSUBV1SSUBV2FSUBV3SSUBV4 :

Q=DELETE (R,3,0,0)

L'exemple suivant supprime la deuxième sous-valeur du champ 4 et attribue la valeur FLD1FVAL1VSUBV1SSUBV2FFSUBV3 à Q :

Q=DELETE (R,4,1,2)