Page 1 sur 1

Utiliser enumeration et boucle

Publié : mar. 15/mars/2005 21:52
par fd
Bonjour,

Je tente d'utiliser les énumérations #fe0501, #fe0502 pour plusieurs gadgets identiques sur une fenêtre. Je souhaite dans un deuxième temps utiliser une boucle du style :
for x = 1 to 20
gadget("#fe05" + right("0" + x ,2), ...)
Or le #fe0501 dans ce cas n'est pas interprété comme la valeur de la variable, mais comme une chaine.
L'un de vous a t-il une idée pour que la chaine soit retransformée en sa valeur ?
Merci.

Publié : mar. 15/mars/2005 22:25
par Frenchy Pilou
Avec Val ?

Publié : mar. 15/mars/2005 22:39
par fd
Non car val transforme la chaine en valeur, or ma chaine correspond au nom de ma variable et pas à sa valeur.

En revanche, en lisant un mail sur les tableaux, j'ai vu que je devais peut-être créer les gadgets avec pb_any et stocker leurs numéros par une boucle (du style) :

for f = 1 to ...
gadget(f) = ButtonGadget(#pb_any, ...)

En réutilisant la boucle for f = 1 to ... SetGadgetText(gadget(f),texte$). Je devrais pouvoir obtenir le bon résultat.

Je vais essayer, mais il faut que je remette en premier tous les gadgets dont la valeur peut être contenue dans l'énumaration ...

Publié : mer. 16/mars/2005 7:08
par Anonyme2
on peut utiliser ceci en fixant la valeur de #fe05 et en fixant la valeur de la prochaine constantes dans l'énumération à #fe05 +20 ce qui laisse les 20 valeurs de libre à partir de #fe05
#Boutongadget1 prendra la valeur 22 dans l'exemple

Code : Tout sélectionner

Enumeration
   #fe05 = 1 ; on laisse 20 valeurs dans l'énumération
   #Boutongadget = 21
   #Boutongadget1
   #Boutongadget2
EndEnumeration



For x = #fe05 To 20
  Debug x
Next x

Re: Utiliser enumeration et boucle

Publié : sam. 26/mars/2005 18:01
par Dr. Dri
fd a écrit :Bonjour,

Je tente d'utiliser les énumérations #fe0501, #fe0502 pour plusieurs gadgets identiques sur une fenêtre. Je souhaite dans un deuxième temps utiliser une boucle du style :
for x = 1 to 20
gadget("#fe05" + right("0" + x ,2), ...)
Or le #fe0501 dans ce cas n'est pas interprété comme la valeur de la variable, mais comme une chaine.
L'un de vous a t-il une idée pour que la chaine soit retransformée en sa valeur ?
Merci.
ce que tu essayes de faire n'est faisable que dans des langages interprêtés (en javascript par exemple avec la fonction eval() et en php aussi il me semble)

enumeration -> constante
boucle -> variable

ca n'a aucun sens de vouloir mêler les deux dans un langage compilé

pour avoir une variable du type fe05 que tu complète selon une variable x par exemple, la seule option que tu aie est l'utilisation d'un tableau à une dimension.

Code : Tout sélectionner

dim fe05(20)
for x = 1 to 20
  debug fe05(x)
next x
En espérant ne pas avoir fait de hors sujet ^^

Dri ;)