PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → indirection
indirection
Started by dany, Sep., 14 2004 6:45 PM - 1 reply
Posted on September, 14 2004 - 6:45 PM
bonjour,

J'ai une chaine : chaine1 est une chaine = "bonjour monsieur <<nom>>
<<prenom>>"
Je dispose de toute une liste de variables avec leur code associé et je
souhaite pouvoir remplacer toutes mes variables de ma chaine par les bons
éléments relatifs à une personne.

variable = "<<nom>>"
code_associé = chercher_code_associé(variable) // =
"ma_personne:donner_nom()"
pour chaque variable trouvée dans la chaine
// remplacer par l'évaluation du code associé
chaine_remplacée = remplace(chaine1,variable,{code_associé})
finpour

seulement l'application me provoque une erreur :"l'élément
'ma_personne:donner_nom()' est inconnu."

Je ne vois pas la solution.
Avez-vous une idée?
Merci
Dany.
Posted on September, 15 2004 - 12:27 PM
Les opérateurs { et } permettent d'accéder à un champ, une variable, un
membre d'une classe ou une rubrique de fichier en construisant
dynamiquement le nom du champ, de la variable, du membre de la classe ou
de la rubrique.

Donc pas une méthode de la classe comme dans votre code.

Donc :

{MaClasse:UneMethode()} ne fonctionne pas, mais
{"ChaineContenantNomDeMaClasse}:UneMethode() fonctionne.






dany wrote:
bonjour,

J'ai une chaine : chaine1 est une chaine = "bonjour monsieur <<nom>>
<<prenom>>"
Je dispose de toute une liste de variables avec leur code associé et je
souhaite pouvoir remplacer toutes mes variables de ma chaine par les bons
éléments relatifs à une personne.

variable = "<<nom>>"
code_associé = chercher_code_associé(variable) // =
"ma_personne:donner_nom()"
pour chaque variable trouvée dans la chaine
// remplacer par l'évaluation du code associé
chaine_remplacée = remplace(chaine1,variable,{code_associé})
finpour

seulement l'application me provoque une erreur :"l'élément
'ma_personne:donner_nom()' est inconnu."

Je ne vois pas la solution.
Avez-vous une idée?
Merci
Dany.