Re: DEFI N°1 - Indirection sur un tableau de structure | Sujet: Re: DEFI N°1 - Indirection sur un tableau de structure par drcharly93 sur 11/2/2005 12:45:37
Bonjour,
Tu pousse le bouchon un peu trop loin maurice
je veux bien comprendre l'utilisation de l'indirection sur le nom du tableau qui peut varier en fonction des besoins. Maintenant de la a vouloir mettre l'indirection sur les membres d'une structure qui elle ne change pas, je ne vois pas bien l'utilité si ce n'est à chercher à pousser les limites à l'extrême. Ou alors dites moi avec quel languages vous arrivé à faire cela?
Ceci dit il y a toujours moyen de trouver une solution via la compilation dynamique. A des fins didactique, je vous offre le code:
Element1,NomTable est une chaîne
Element1="IdCateg"
NomTable="TabCateg"
sResultat est une chaîne
sResultatCompile est une chaîne
sSource est une chaîne
sSource = "//Une Structure" + RC
sSource += "Categ est une structure" + RC
sSource += " IdCateg est un entier" + RC
sSource += " LibCateg est une chaîne" + RC
sSource += "FIN" + RC + RC
sSource += "//Un Tableau Dynamique" + RC
sSource += "TabCateg est un tableau dynamique" + RC
sSource += "TabCateg=allouer un tableau de 0 Categ"+RC + RC
sSource += "Element1,NomTable est une chaîne" + RC
sSource += "Element1=""IdCateg""" + RC
sSource += "NomTable=""TabCateg""" + RC + RC
sSource += "//Je redimensionne mon tableau." + RC
sSource += "Dimension({NomTable},1) //Ca fonctionne" + RC + RC
sSource += "//j'affecte une valeur de test" + RC
sSource += "TabCateg[1]:IdCateg=10" + RC
sSource += "//on regarde le resultat" + RC
sSource += "Info(""Nouvelle Valeur affectée à TabCateg[1]:IdCateg : "" +TabCateg[1]:IdCateg)" + RC + RC
sSource += NomTable + "[1]:" + Element1 + "=2" + RC
sSource += "RENVOYER (TabCateg[1]:IdCateg)"
sResultatCompile = Compile ("Proc_dynamique", sSource)
SELON sResultatCompile
CAS "" : sResultat = ExécuteTraitement("Proc_dynamique", trtProcédure )
CAS "ERR" : sResultat = "Compilation impossible. "+ RC +ErreurInfo()
AUTRE CAS : sResultat = sResultatCompile
FIN
Info("TabCateg[1]:IdCateg = " + sResultat)
Vous pouvez tester cela fonctionne.
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|