[R] Problème de $ dans une fonction

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
obi_one
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 19 sept. 2007 17:24
Status : Hors ligne

[R] Problème de $ dans une fonction

#1

Message par obi_one »

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 :

Code : Tout sélectionner

Dim $a1[2][13] = [[.....][....]]
Dim $a2[2][13] = [[.....][....]]
Dim $b2[2][13] = [[.....][....]]
Dim $b3[2][13] = [[.....][....]]
...
 
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 :?) :

Code : Tout sélectionner

Func Trouver($liste)
; $liste => le nom de la liste (par exemple : a2)
Return $liste[0][1]
EndFunc
 
Bref mon soucis se trouve dans cette fonction en question

Je l'appel ainsi :

Code : Tout sélectionner

Trouver(GUICtrlRead($ComboBox))
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 :

Code : Tout sélectionner

Return $list[0][0]
ou :

Code : Tout sélectionner

Return "$" & $liste[0][0]
ou encore :

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

 
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 :roll:

D'ici là, je continu mes recherches dans la doc et le tâtonnement !
Modifié en dernier par Tlem le jeu. 07 janv. 2010 23:17, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Problème de $ dans une fonction

#2

Message par genaille08 »

je n'ai pas trop compris mais je vais tenter de t'aider
( je me permet de te tutoyer )
J'ai fait des essais :

Code:
Return $list[0][0]

ou :

Code:
Return "$" & $liste[0][0]

ou encore :

Code:
Eval("liste") & [0][0]
il manque un "=" la
il faut que tu fasse

Code : Tout sélectionner

return $liste = [0] [0]
ensuite pour

Code : Tout sélectionner

Select
   Case $liste = "a1"
      $var = $a1
   Case $liste = "a2"
      $var = $a2
   Case $liste = "b1"
      $var = $b1
   ;...
EndSelect
tu peux faire

Code : Tout sélectionner

while 1
    $b = 0
    $nombre du array = $b +1
  for 1 to (nombre de array dans ta liste) step 1
   select $liste
        case $a & $b
$var = $a & $b
exitloop
exitloop
endselect
next
wend [/code]
pareil pour la déclaration des valeurs
( pour la déclaration pas besoin du dim )

j'espere que vous en avez compris le principe et vous avoir aider
Tlem je pense qu'il y aurrait besoin d'un eclaircissement de mon code s'il te plait ...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème de $ dans une fonction

#3

Message par Tlem »

J'avoue ne vous avoir compris ni l'un, ni l'autre.
Je veux bien donner un coup de main si c'est possible, mais pour cela il me faut un bout de code plus ou moins fonctionnel et me dire ce qu'il doit faire précisément.

Etant sur la traduction de la doc + plusieurs autres choses, je n'ai pas le temps de créer tout de A à Z.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Problème de $ dans une fonction

#4

Message par jbnh »

Oula, faites des postes plus court, plus concit, je sais même pas le probleme... tu obtiens une erreur? laquelle? ou tu veux juste éclaircir ton code, mais lequel?

Repose la problématique et je repasserai jeter un coup d'oeil
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Problème de $ dans une fonction

#5

Message par genaille08 »

ok beh avec des mots se sera plus simple
je vous avous que moi non plus je n'ai pas trouvé ce qu'était son probleme
mais je pense qu'aprés mur reflexion il voulait un moyen pour ne pas avoir a déclaré toutes ses arrays a la main
ses arrays ont le nom de : a1, a2, a3, b1, ...
et donc j'vais proposé un bout de script qui a chaque passage augmenté le nombre de sa array de +1, ce qui faciletait deja les chose
ensuite il voulait faire la même chose mais les avec un select pour une GUI, sa se complique ...
et sa je ne sais pas trop le faire
mais comme il ne nous dit pas qu'est-ce qu'il veut declarer dans ses array et bien je ne sais pas si on peut remplacer un "$var = $var + 1" par une formule mathématiques un peu plus simple ur le principe de fonctionnement
donc j'attend des information du créateur ...
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [..] Problème de $ dans une fonction

#6

Message par tolf »

obi_one a écrit :

Code : Tout sélectionner

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
Il faut faire

Code : Tout sélectionner

Return Eval($var & "[0][0]")
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
Répondre