PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → probleme avec les indirections
probleme avec les indirections
Débuté par Ambroise, 10 oct. 2017 10:53 - 2 réponses
Posté le 10 octobre 2017 - 10:53
Bonjour,
J'ai des variables texte alimentées par programmation.
Ces variables se nomment gsTexte1 à gsTexte8.

Je souhaite les insérer dans un document par le code suivant :
POUR i=1 A 7
gpclEditeur:RechercherRemplacer("@INSTRUCTION"+i+"@",{"gsTexte"+i+"..nom"}..Valeur)

FIN

or je bloque sur l'indirection.

Je souhaiterai que pour chaque valeur, la boucle me fasse la suite de lignes logiques :
gpclEditeur:RechercherRemplacer("@INSTRUCTION1@",gsTexte1)
gpclEditeur:RechercherRemplacer("@INSTRUCTION2@",gsTexte2)
gpclEditeur:RechercherRemplacer("@INSTRUCTION3@",gsTexte3)
gpclEditeur:RechercherRemplacer("@INSTRUCTION4@",gsTexte4)
gpclEditeur:RechercherRemplacer("@INSTRUCTION5@",gsTexte5)
gpclEditeur:RechercherRemplacer("@INSTRUCTION6@",gsTexte6)
...


Qui peut me débloquer afin que mon code soit plus lisible que si je dupliquais 20 fois les lignes pour faire le changement.

D'avance merci
Posté le 10 octobre 2017 - 14:25
Ambroise a pensé très fort :
Bonjour,
J'ai des variables texte alimentées par programmation.
Ces variables se nomment gsTexte1 à gsTexte8.

Je souhaite les insérer dans un document par le code suivant :
POUR i=1 A 7
gpclEditeur:RechercherRemplacer("@INSTRUCTION"+i+"@",{"gsTexte"+i+"..nom"}..Valeur)

FIN

or je bloque sur l'indirection.

Je souhaiterai que pour chaque valeur, la boucle me fasse la suite de lignes
logiques :
gpclEditeur:RechercherRemplacer("@INSTRUCTION1@",gsTexte1)
gpclEditeur:RechercherRemplacer("@INSTRUCTION2@",gsTexte2)
gpclEditeur:RechercherRemplacer("@INSTRUCTION3@",gsTexte3)
gpclEditeur:RechercherRemplacer("@INSTRUCTION4@",gsTexte4)
gpclEditeur:RechercherRemplacer("@INSTRUCTION5@",gsTexte5)
gpclEditeur:RechercherRemplacer("@INSTRUCTION6@",gsTexte6)
...


Qui peut me débloquer afin que mon code soit plus lisible que si je
dupliquais 20 fois les lignes pour faire le changement.

D'avance merci


gsTexte1 est chaine = "1"
gsTexte2 est chaine = "2"
...
gsTexteN est chaine = "N"

POUR i = 1 _a_ N
Trace({"gsTexte"+i})
FIN

--
Cordialement JeAn-PhI
Posté le 10 octobre 2017 - 15:35
:merci:
Je cherchais la complication alors que c'était si simple.

Grand merci pour cette réponse qui vient de me débloquer.