[R] Problème de $ dans une fonction
Posté : mar. 17 juin 2008 23:40
Salut à tous,
Bon j'ai fait plusieurs recherche dans le forum mais sans vraiment trouver une réponse (peut-être que je m'y prend mal).
Bref... Voici mon soucis :
J'ai un script qui contient plein d'Array :
J'en ai plein avec une bonne liste de valeur dedans
J'ai aussi fait une interface graphique avec un ComboBox qui contient :
a1
a2
b1
b2
b3
....
Et un bouton "Trouver"
J'aimerai faire une fonction qui récupére la premiere valeur lorsque qu'on clique sur le bouton (c'est pas vraiment ça mais c'est pour simplifié mes explications qui me sont déjà assez difficile
) :
Bref mon soucis se trouve dans cette fonction en question
Je l'appel ainsi :
Malheureusement je ne trouve pas la manip pour réutilisé le signe $ devant le parametre passé dans la variable :
$liste = a1 et non $a1 dans la fonction
J'ai fait des essais :
ou :
ou encore :
Ma seul solution qui fonctionne pour le moment est un peu "crade" je trouve :
En d'autre terme comment simplifié ce code sans être obligé de me retapé tout mes Arrays dans la partie Select...EndSelect ?
Si je ne suis pas assez clair n'hésitez pas, j'essayerai de faire un code et un post un peu plus propre
D'ici là, je continu mes recherches dans la doc et le tâtonnement !
Bon j'ai fait plusieurs recherche dans le forum mais sans vraiment trouver une réponse (peut-être que je m'y prend mal).
Bref... Voici mon soucis :
J'ai un script qui contient plein d'Array :
Code : Tout sélectionner
Dim $a1[2][13] = [[.....][....]]
Dim $a2[2][13] = [[.....][....]]
Dim $b2[2][13] = [[.....][....]]
Dim $b3[2][13] = [[.....][....]]
...
J'ai aussi fait une interface graphique avec un ComboBox qui contient :
a1
a2
b1
b2
b3
....
Et un bouton "Trouver"
J'aimerai faire une fonction qui récupére la premiere valeur lorsque qu'on clique sur le bouton (c'est pas vraiment ça mais c'est pour simplifié mes explications qui me sont déjà assez difficile

Code : Tout sélectionner
Func Trouver($liste)
; $liste => le nom de la liste (par exemple : a2)
Return $liste[0][1]
EndFunc
Je l'appel ainsi :
Code : Tout sélectionner
Trouver(GUICtrlRead($ComboBox))
$liste = a1 et non $a1 dans la fonction
J'ai fait des essais :
Code : Tout sélectionner
Return $list[0][0]
Code : Tout sélectionner
Return "$" & $liste[0][0]
Code : Tout sélectionner
Eval("liste") & [0][0]
Ma seul solution qui fonctionne pour le moment est un peu "crade" je trouve :
Code : Tout sélectionner
; Délcaration de tout mes Arrays
Dim $a1[2][13] = [[.....][....]]
Dim $a2[2][13] = [[.....][....]]
Dim $b1[2][13] = [[.....][....]]
Dim $b2[2][13] = [[.....][....]]
;.....
; On appel la fonction ainsi (on récupère la valeur du ComboBox)
Trouver(GUICtrlRead($ComboBox))
; Fonction Trouver qui retourne la premiere valeur de l'array
Func Trouver($liste)
Select
Case $liste = "a1"
$var = $a1
Case $liste = "a2"
$var = $a2
Case $liste = "b1"
$var = $b1
;...
EndSelect
Return $var[0][0]
EndFunc
Si je ne suis pas assez clair n'hésitez pas, j'essayerai de faire un code et un post un peu plus propre

D'ici là, je continu mes recherches dans la doc et le tâtonnement !