PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

indirection
Débuté par dany, 14 sep. 2004 18:45 - 1 réponse
Posté le 14 septembre 2004 - 18:45
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.
Posté le 15 septembre 2004 - 12:27
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.