Page 1 sur 1
Est-il possible de faire des constructions dynamiques ??
Publié : ven. 27/févr./2004 11:02
par brossden
Bonjour à tous
Est-il possible de faire des constructions dynamiques ??
Je m'explique : J'aimerais avoir accès à une varaible dont je contruirais par programme le nom rien de tel qu'un petit exemple :
Code : Tout sélectionner
NomA.s="Marcel"
NomB.s="Julien"
For N=65 To 66
Variable.s="Nom"+chr(N)
Debug ???? ; Là j'aimerais pouvoir retrouver la Valeur de {variable} dans nom exemple : NomA puis NomB
Next
En d'autre terme j'aimerai avoir comme retour "Marcel" puis "Julien"
Ai-je été clair ??? A vous de me le dire et de me donner la solution si vous connaisez !
Merci à tous
Denis
Publié : ven. 27/févr./2004 11:26
par Chris
Pourquoi tu n'utilises pas tout simplement une structure ou une liste?
Chris

Publié : ven. 27/févr./2004 11:29
par Oliv
Peut-être qu'en utilisant les likedlist, tu pourrais obtenir ce que tu veux ? :
Code : Tout sélectionner
NewList Noms.s()
AddElement(Noms())
Noms() = "Marcel"
AddElement(Noms())
Noms() = "Julien"
ForEach Noms()
Debug Noms()
Next
Publié : ven. 27/févr./2004 11:34
par brossden
Désolé Chris et Oliv mais j'aimerais avoir une réponse à ma question et pas une manière de la détourner.
J'utilise Windev dans le cadre de ma profession, cette possibilité est offerte et c'est très, très confortable. Ce language offre aussi la possibilité de compilation dynamique c'est aussi d'une aide prodigieuse.
Imagine de pouvoir saisir par exemple dans un gadget "Mid("Bonjour",4,4) et d'avoir comme retour "jour"
Au niveau du débogage c'est inestimable !
Salut
Denis
Publié : ven. 27/févr./2004 13:28
par Anonyme2
Pas simple à faire.
Une chaîne est définie par un nom de variable qui est une chaîne (dans ton exemple NomA et NomB) que le compilateur utilisera mais ce nom n'est pas stocké tel quel dans le code.
Tu cherche à retrouver le contenu de la chaîne en passant par son identifiant statique. Moi comme ça je ne vois pas. Par contre mais je ne sais pas si ca te convient, on peut stocker l'adresse de chaque chaine dans un tableau dynamique et faire une recherche dans ce tableau pour retrouver le contenu de la chaîne.
Voici le code, j'espère que ça t'aidera.
Code : Tout sélectionner
NomA.s="Marcel"
NomB.s="Julien"
Dim AdresseVar.l(2)
AdresseVar(0) = @NomA
AdresseVar(1) = @NomB
For N= 0 To 1
Variable.s= PeekS(AdresseVar(N))
Debug Variable
Next
Publié : ven. 27/févr./2004 14:47
par brossden
C'est toujours un paliatif,

mais pas une solution, le plus simple des paliatifs etant de créer un tableau chaine !!
Mais je parle bien de "Construction dynamique" Ce n'est certainement pas possible à vous lire, mais

c'est bien dommage car bien utilisé on peut faire des programmes ultra courts et ulra rapides !!
Denis

Publié : ven. 27/févr./2004 15:00
par comtois
C'est clair que ça peut être sympa cette possibilité , ça me dit quelque chose , il me semble que j'ai déjà vu ça dans un autre langage, mais je ne sais plus lequel.
Je crois que c'était avec un logiciel de gestion base de données , un vieux truc qui n'existe plus aujourd'hui .
Tu devrais peut-être en faire la suggestion dans la section qui va bien ?
Publié : ven. 27/févr./2004 21:22
par filperj
Je me demande bien comment ça pourrait être possible

...
Dans l'exe compilé, les variables n'ont pas de nom, seulement des adresses.
Ca m'évoquerai plutôt un langage interprété, non ?