[..] Variable de variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Karl
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 09 oct. 2009 19:04
Status : Hors ligne

[..] Variable de variable

#1

Message par Karl »

Bonsoir,

Existe_t-il en autoit la possibilité de travailler avec des variables de variables?

Je voudrais simplifier la création de checkbox par une variable de variable pour le nom des boites plutôt que de nommer chacune d'elle manuellement: $($nom_box) dans le scritp qui suit.

Merci pour vos réponses.
► Afficher le texte
Modifié en dernier par Karl le mer. 14 oct. 2009 09:19, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: Variable de variable

#2

Message par jbnh »

Bonsoir,

Merci de (re)lire les règles de présentation d'un message (ou voir ma signature) et d'éditer votre titre.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [R]Variable de variable

#3

Message par GELDROC »

tu pourai utiliser un fichier d'annexe (*.ini)
et la ligne

Code : Tout sélectionner

$var=iniread("annexe.ini", "Groupe1", "var" , "ereur-lecture-var_ini")
 
Karl
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 09 oct. 2009 19:04
Status : Hors ligne

Re: [..]Variable de variable

#4

Message par Karl »

Effectivement, je pourrais passer par un .ini.

Ca répondrait en même temps à la possibilité d'ajouter de nouveaux checkbox en les inscrivant simplement dans ce .ini. Plus besoin de toucher au script.

J'aurais du y penser. Merci.

Mais je suis quand même curieux de savoir si Autoit peut gérer les variables de variables (comme PHP).
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..]Variable de variable

#5

Message par Iste »

Moui, mais perso j'utiliserai un array ^^
sinon, c'est du coté de Assign() et Eval() qui faut voire
Signez ici
Karl
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 09 oct. 2009 19:04
Status : Hors ligne

Re: [..]Variable de variable

#6

Message par Karl »

J'ai testé le .ini et ça marche impec.
Comme je vais y chercher tous les noms des checkbox j'utilise également un tableau dans le script pour les gérer.

Pour ceux qui seraient intéréssé voici la boucle prinicipale

Code : Tout sélectionner

for $i=0 to $nbr_g1-1
    $var=iniread(@ScriptDir&"\fichier.ini", "NOM_SECTION", "DEBUT_NOM_BOX"&$i , "ereur-lecture-var_ini")
    
    $arr[0][$i][0]=GUICtrlCreateCheckbox($var,$x, $y)
    $arr[0][$i][2]="DEBUT_NOM_FICHIER"&$i+1&".exe" 
    $y+=20
NEXT
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..]Variable de variable

#7

Message par timmalos »

Sinon comme Iste l'a dit, Autoit peut le faire. Ca s'appelle création de variables dynamiques.

Code : Tout sélectionner

$nombre_checkbox = 2
$nom_var = 'checkbox'

For $i = 1 to $nombre_checkbox
      Assign($nom_var&$i,GuiCtrlCreateCheckBox(...),2)
Next
Le 2 sert à assigner globalement, comme ca pas de soucis avec les fonctions. Sinon regarde l'aide de assign.


A chaque fois que tu voudra voir le contenu de la variable dynamique, tu ne pourra pas faire $checkbox1 ou $checkbox3 par exemple, meme si elles sont en fait declarées. Il faudra faire Eval("checkbox3")
L'avantage, c'est que si tu veux faire une boucle de traitement, tu pourra utiliser une boucle For avec une variable $i incrementée, puis Eval($nom_var & $i) et faire l'action necessaire, avec un $i qui changera pour chaque checkbox.
Karl
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 09 oct. 2009 19:04
Status : Hors ligne

Re: [..] Variable de variable

#8

Message par Karl »

Merci pour les précisions. Je suis en train de tester.
Répondre