FAQ n°3016, publiée le 19/05/2005
WINDEV, WEBDEV, WINDEV MOBILE
Je veux écrire un traitement générique qui devra s'appliquer à plusieurs champs ou plusieurs rubriques non déterminés à l'avance. Comment faire ? La question est également : comment connaître la valeur d'une rubrique, d'un champ ou d'une variable dont le nom se trouve dans une variable ?
Vous pouvez utiliser la notion d'indirection.

Utilisez une chaîne de caractères qui contiendra le nom du champ ou d'une rubrique

A chaque fois que vous voulez accéder à la valeur du champ ou de la rubrique, utilisez les caractères "{" et "}" pour effectuer une indirection.

Exemple 1 :

MonChamp est une chaine
MonChamp = "SAISIE3"

// Affichage de la valeur de MonChamp
Info({MonChamp, indChamp})

// Mise à jour de la valeur de MonChamp
{MonChamp, indChamp} = "Dupond"


Exemple 2 :

MaRubrique = "NOM"

// Affichage de la rubrique MaRubrique du fichier CLIENT
Info({"CLIENT."+ MaRubrique, indRubrique})

// Mise à jour de la rubrique MaRubrique du fichier CLIENT
{"CLIENT."+ MaRubrique, indRubrique} = "Dupond"