[R] Problème variable dynamique

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
PALANDRE
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 19 juil. 2015 15:48
Status : Hors ligne

[R] Problème variable dynamique

#1

Message par PALANDRE »

Coucou les gars !

J'aimerais faire un truc comme pour en PHP : http://php.net/manual/fr/language.varia ... riable.php

J'ai trouvé l'équivalent avec Assign. L'idée est d'ouvrir autant de TabSheet qu'il y a de colonne dans mon array. Cela fonctionne, mais j'aimerais renommer mes boutons et tous un par un avec un chiffre correspondant à la colonne traité. Théoriquement le code, d'après moi devrais être celà :

Code : Tout sélectionner

         For $i = 0 To UBound($tableau_des_donnees_a_importer,2)-1
            Assign("PageControl_Localisation" & $i, $i) = GUICtrlCreateTab(8, 8, 364, 152)
            Assign("TabSheet_Localisation" & $i, $i = GUICtrlCreateTabItem($tableau_des_donnees_a_importer[0][$i])
            Assign("Group_Localisation" & $i, $i = GUICtrlCreateGroup("", 16, 40, 345, 113)
            GUICtrlSetFont(-1, 8, 400, 0, "Arial")
            Assign("Radio_champ_de_texte_Localisation" & $i, $i = GUICtrlCreateRadio("Champ de texte", 24, 64, 105, 25)
            Assign("Radio_liste_deroulante_Localisation" & $i, $i = GUICtrlCreateRadio("Liste déroulante", 24, 88, 105, 25)
            Assign("bouton_de_Localisation" & $i, $i = GUICtrlCreateButton("Localiser l'élément", 176, 72, 169, 33)
            GUICtrlCreateGroup("", -99, -99, 1, 1)
            $bouton_de_validation = GUICtrlCreateButton("Suivant", 24, 120, 105, 25)
         Next
 
Malheureusement, ce code me renvoit une erreur :
Illegal text at the end of statement (one statement per line)
Assign("PageControl_Localisation" & $i, $i) = GUICtrlCreateTab(8, 8, 364, 152)
Assign("PageControl_Localisation" & $i, $i) ^ ERROR

D'après moi le problème vien du fait que GUICtrlCreateRadio[...] devrait être un texte s'il est utilisé avec Assign, hors dans mon cas il ne le faut pas. Pourriez-vous m'aider :)?

Au passage, je suis débutant ^^

William !
Modifié en dernier par PALANDRE le lun. 20 juil. 2015 10:54, modifié 1 fois.
Débutant sur AutoIT !

Je me base sur le principe d'une aide en ma faveur sur ce forum = une aide de ma part donnée.

Je dois donc : 2 aides.
PALANDRE
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 19 juil. 2015 15:48
Status : Hors ligne

Re: [..] Problème variable dynamique

#2

Message par PALANDRE »

Punaise les gars quel idiot je suis ! L'erreur était tous simple.

Je n'ai pas été foutu de voir que déjà il manquait une parenthèse à la fin de Assign().

Mais le problème était que je mettais la valeur de $i dans la variable et non pas ce qui m'intéressait, ce qui donnerait : $test = i = GuiCommand

Du coup voilà mon code fonctionnant :

Code : Tout sélectionner

         For $i = 0 To UBound($tableau_des_donnees_a_importer,2)-1
            Assign("PageControl_Localisation" & $i, GUICtrlCreateTab(8, 8, 364, 152))
            Assign("TabSheet_Localisation" & $i, GUICtrlCreateTabItem($tableau_des_donnees_a_importer[0][$i]))
            Assign("Group_Localisation" & $i, GUICtrlCreateGroup("", 16, 40, 345, 113))
            GUICtrlSetFont(-1, 8, 400, 0, "Arial")
            Assign("Radio_champ_de_texte_Localisation" & $i, GUICtrlCreateRadio("Champ de texte", 24, 64, 105, 25))
            Assign("Radio_liste_deroulante_Localisation" & $i, GUICtrlCreateRadio("Liste déroulante", 24, 88, 105, 25))
            Assign("bouton_de_Localisation" & $i, GUICtrlCreateButton("Localiser l'élément", 176, 72, 169, 33))
            GUICtrlCreateGroup("", -99, -99, 1, 1)
            $bouton_de_validation = GUICtrlCreateButton("Suivant", 24, 120, 105, 25)
         Next
Débutant sur AutoIT !

Je me base sur le principe d'une aide en ma faveur sur ce forum = une aide de ma part donnée.

Je dois donc : 2 aides.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Problème variable dynamique

#3

Message par jguinch »

Sinon, avec la version beta, tu peux utiliser les tableaux de type Map (voir dans la doc dans Language Reference / Variables / Maps).
Cette fonctionnalité n'est pas présente dans la version 3.3.14.0, bien qu'elle apparaît dans la doc...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre