Page 1 sur 1

[R] Nom d'une variable + Incrémentation

Posté : dim. 27 juin 2010 20:53
par Sh4dows
Bonjour à tous !

J'aimerais une indication qui m'aiderait surement :wink:
Je voudrais savoir si il était possible de faire quelque chose du genre :

Code : Tout sélectionner

For $i = 0 to 100 step 1
     $variable&$i = 0
Next
 
En gros le nom de ma variable plus une valeur !
A la base je l'utilise avec GUICtrlCreateMenuItem car je fais un Menu variable.

Tous est fonctionnel mais le seul problème est comment savoir sur quel item l'utilisateur click !
Pour cela je doit attribuer une valeur différente à chaque GUICtrlCreateMenuItem

Merci d'avance pour vos réponse.

Cordialement sh4dows

P.S : C'est difficile à expliquer

Re: [..] Nom d'une variable + Incrémentation

Posté : dim. 27 juin 2010 21:29
par timmalos
Votre problème a une solution, qui peut etre difficile sur certains points

Vous allez devoir utiliser une allocation dynamique, avec l'utilisation de Assign() et Eval(), en gros ces fonctions permettent de déclarer des variables dynamiques, avec des $i si vous le souhaitez, puis Eval permet d'obtenir ce que contient cette variable dynamique.

Les exemples de l'aide sont tres parlants, vous devriez y arriver.

Re: [..] Nom d'une variable + Incrémentation

Posté : dim. 27 juin 2010 21:33
par Sh4dows
Merci pour l'aide je vais bien regarder cela !

Re: [..] Nom d'une variable + Incrémentation

Posté : dim. 27 juin 2010 21:44
par jl56
Bonjour

Pour un problème similaire je stocke les variables ( handle ) dans un tableau
► Afficher le texte
J'ai réduit à 10 variables

A+ JL56

Re: [..] Nom d'une variable + Incrémentation

Posté : dim. 27 juin 2010 21:46
par timmalos
C'est en effet une 2eme solution, un peu plus 'bricolée'

Re: [..] Nom d'une variable + Incrémentation

Posté : lun. 28 juin 2010 10:17
par Sh4dows
Je préfère la solution de jl56, par contre si je ne connait pas la taille du tableau à l'avance comment devrais je procédé ?

Car je pense qu'il y a 2 solutions :
  • - Celle ou on bouffe de la mémoire

Code : Tout sélectionner

Dim  $item_menu[1000000]
  • - Et l'autre
Merci d'avance !

Cordialement sh4dows

Re: [..] Nom d'une variable + Incrémentation

Posté : lun. 28 juin 2010 11:20
par jchd
Ici aussi deux solutions : soit tu redimmensionnes ton array pour chaque élément individuellement
ReDim $ar[UBound($AR + 1)]
soit par blocs de N entrées
ReDim $ar[UBound($AR + $N)]
ou encore avec un pourcentage d'augmentation
ReDim $ar[UBound($AR * 1.2)]

Dans les deux derniers cas, tu peux vouloir faire un ReDim au final pour ne conserver que la taille strictement utile.

Re: [..] Nom d'une variable + Incrémentation  

Posté : lun. 28 juin 2010 11:39
par Sh4dows
Ok merci à vous tous je mets en Résolu !

Cordialement sh4dows

Re: [R] Nom d'une variable + Incrémentation

Posté : lun. 28 juin 2010 20:28
par mimione
Bonjour

Même si [R], j'vais quand même dire une bétise.
Est-ce que "Assign" ne remplirait pas le service demandé..
Si vraiment c'est une bêtise >> pas taper, merci.

Re: [R] Nom d'une variable + Incrémentation

Posté : lun. 28 juin 2010 23:33
par Sh4dows
mimione tu es minionne :lol:

Code : Tout sélectionner

Vous allez devoir utiliser une allocation dynamique, avec l'utilisation de Assign() et Eval(), en gros ces fonctions permettent de déclarer des variables dynamiques, avec des $i si vous le souhaitez, puis Eval permet d'obtenir ce que contient cette variable dynamique.
 
Regarde un peu plus haut déjà dit !
Cordialement sh4dows

Re: [R] Nom d'une variable + Incrémentation

Posté : mar. 29 juin 2010 18:36
par mimione
Je cours ce ce pas chez mon opticien.. :mrgreen: