[R] Associer deux variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

[R] Associer deux variable

#1

Message par silvere »

Salut !
Mon titre n'est peut-être pas le bon.
Je cherche faire un code du genre :
► Afficher le texte
mais qui fonctionnerai.
c'est a dire que $teste1 = 1, $teste2 = 2 ...
Modifié en dernier par silvere le dim. 18 déc. 2011 08:54, modifié 1 fois.
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Associer deux variable

#2

Message par mikell »

Bien propre ^^

Code : Tout sélectionner

For $i = 1 To 3
   Assign("teste" & $i, $i)
Next
If IsDeclared("teste1") and IsDeclared("teste2") and IsDeclared("teste3") Then
   MsgBox(0, "", Eval("teste" & "1") &@crlf& Eval("teste" & "2") &@crlf& Eval("teste" & "3") )
   MsgBox(0, "", $teste1 &@crlf& $teste2 &@crlf& $teste3 )
EndIf
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Associer deux variable

#3

Message par silvere »

il y a pas plus simple ? car la je comprend pas
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Associer deux variable

#4

Message par mikell »

Non ya pas plus simple, faut utiliser la fonction Assign()
J'ai fait le script dans les règles mais pour comprendre voilà un test facile

Code : Tout sélectionner

Assign("teste" & "1", "tagada")   ; crée la variable $teste1 et lui attribue la valeur "tagada"
MsgBox(0, "", $teste1)   ; vérification
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Associer deux variable

#5

Message par PandiPanda »

Bonsoir,
bhe plus simple => tableau (array)
Cependant ca repond pas à votre demande initiale ...

exemple de script:

Code : Tout sélectionner

Dim $monArray[4]
For $i=0 To 3
    $monArray[$i]=$i
Next
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Associer deux variable

#6

Message par mikell »

Panda tu trouves ça simple ?
L'élément n°3 qui sappelle array[2]
Et la m3rde avec les UBound-1 :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Associer deux variable

#7

Message par PandiPanda »

bhe si on a en tete que le 1er element commence à 0, tout coule de source :mrgreen:

Mais l'utilisation de Assign(), perso j'aime pas ... deja il faut que toute les variables soit crée préalablement(et il faut pas oublier le '$' ...), et on se trompe vite fait une fois qu'on depasse les 100 variables :P

Sans oublier la place que ca prend ... Mais après chacun son choix :lol:
Modifié en dernier par PandiPanda le sam. 17 déc. 2011 18:59, modifié 1 fois.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Associer deux variable

#8

Message par sylvanie »

Voyant que Mikell a fait une petite erreur de frappe, pour ceux qui ne l'avaient pas compris, il parlait de la gestion laborieuse avec les Ubound - 1 :mrgreen:
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Associer deux variable

#9

Message par sylvanie »

PandiPanda a écrit :
Mais l'utilisation de Assign(), perso j'aime pas ... deja il faut que toute les variables soit crée préalablement
c'est faux. Il faut simplement jouer le jeux que si on utilise Assign, il faut alors passer par Eval pour accéder à cette variable créée dynamiquement :

Code : Tout sélectionner

opt("MustDeclareVars",1)

Dim $ind
for $ind=1 to 10
    Assign("Myvar"&$ind,$ind)
Next

for $ind=1 to 10
    ConsoleWrite("Assign"&$ind&" = "&Eval("Myvar"&$ind)&@CRLF)
Next

 
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Associer deux variable

#10

Message par PandiPanda »

Hanlalala beh decidemment, j'ai mal compris :p
merci pour cette information ^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Associer deux variable

#11

Message par silvere »

Stop !
Vous me perdez en cour de route :mrgreen:
J'prend la fonction de Panda la plus simple a mes yeux.
Mais sans doute la moins performante
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Associer deux variable

#12

Message par silvere »

Je suis désespérer pouvez vous m'expliquez pour quoi quand on change de "page" sa change pas la date?
► Afficher le texte
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Associer deux variable

#13

Message par sylvanie »

Vous redéfinissez vous variables de GUI en portée globale d'une GUI à l'autre en gardant les même nom de variable donc il y a écrasement des identifiant.

Pour faire au plus vite, j'ai préfixé vos id de contrôle de la 2eme fenêtre avec 2, genre input1 => input21
En général; prenez des noms significatifs pour chaque contrôle, pas de nom de variables identiques entre 2 GUI (en parlant des contrôle) et ne prenez la portée global que quand c'est vraiment nécessaire
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Associer deux variable

#14

Message par silvere »

Tu me sauve, j'avais oublier sa :(
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Associer deux variable

#15

Message par mikell »

Rhaa quelle sale habitude d'appeler ses controles $input1, $input2 etc
ça va bien quand yen a pas beaucoup, mais après vaut mieux faire $input_nom, $input_date etc
Et ça permet d'éviter ce genre d'erreurs ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
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: [..] Associer deux variable

#16

Message par Iste »

N'oubliez pas que
La réflexion est une chose extrêmement puissante qui peut rendre les programme beaucoup plus propre et puissant, a condition d'être bien utilisé !!
Réfléchissez donc à la pertinence de leur utilisation avant de les taper, car elles peuvent aussi rendre votre code très lourd et très crade !
cf : http://autoitscript.fr/forum/viewtopic.php?f=11&t=6665
Signez ici
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [R] Associer deux variable

#17

Message par silvere »

Iste a écrit : N'oubliez pas que
Oui c'est le problème moi j’oublie beaucoup de chose pour sa que je créé un logiciel memo :mrgreen:

j'ai un autre prb je bloque a l’option supprimer un memo :
( Partie verte )

Edit Tlem : Code supprimé. Limitez le nombre de question par sujet, sinon, on fini par ne plus s'y retrouver.
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Répondre