[R] $variable = une valeur OU une autre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

[R] $variable = une valeur OU une autre

#1

Message par lianavan »

Re bonjour,

Est il possible de faire en sorte que :

$oQuery2 = _IEFormElementGetObjByName ($oForm, "1" ou "2" ou "3" ou "4")

Re merci.
Modifié en dernier par lianavan le sam. 18 sept. 2010 14:36, modifié 1 fois.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#2

Message par lianavan »

Code : Tout sélectionner

$oQuery2 = _IEFormElementGetObjByName ($oForm, "1" OR "2" OR "3" OR "4")
Peut être ?
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#3

Message par lianavan »

Ce n'est pas aussi simple, cela ne fonctionne pas si je fais :

Code : Tout sélectionner

    $oForm = _IEFormGetObjByName ($oIE, "1" OR "2" ) 
    $oQuery2 = _IEFormElementGetObjByName ($oForm, "a" OR "b")
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 = une valeur OU une autre

#4

Message par Iste »

Gnééé ??
Vous voulez utiliser des keyword conditionnels en paramètres, ca va pas bien ?

Si vous cherchez a envoyer une des variable au hasard, faite un Random() puis un Switch sur le resultat.
Signez ici
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#5

Message par lianavan »

Pourquoi "ça ne va pas bien ?" ? Je risque de faire sauter une centrale nucléaire ou un truc du style ? Oo
Si vous cherchez a envoyer une des variable au hasard, faite un Random() puis un Switch sur le resultat.
Merci mais non, je souhaites que
$oForm = $oIE, "1" OR $oIE,"2"
, et que
$oQuery = $oForm, "a" OR $oForm, "b"

OR n'est peut être pas ce que je veux, je crois que ce serait plutôt AND en fait. Je veux que tous ces cas soient pris en compte.
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 = une valeur OU une autre

#6

Message par Iste »

Nan personne ne va mourir ^^

Mais OR et AND sont des opérateur logique, en gros, des machins qu'on met dans des conditions

En claire dans vos code, ils n'ont rien a faire ici

Mais du coup, je vois pas ce que vous voulez faire....

Recherchez des exemple de OR et AND dans la doc
Signez ici
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 = une valeur OU une autre

#7

Message par Iste »

Haaa attendez, j'ai peut etre compris, regardez du coté de BitOR() ou BitAnd()
Signez ici
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#8

Message par lianavan »

Oulala d'après ce que j'ai lu, ce n'est pas du tout cela dont j'ai besoin !!

Je vais essayer d'être le plus clair possible :

Voici les 3 lignes de code :

Code : Tout sélectionner

    $oForm = _IEFormGetObjByName ($oIE, "$forms") ; je veux que $forms soit 1 ou soit 2
    $oQuery = _IEFormElementGetObjByName ($oForm, "$querys") ; je veux que $querys soit a ou soit b
    _IEFormElementSetValue ($oQuery, "blablabla") ; je veux donc que dans tous ces cas possibles, la valeur soit "blablabla"
 
En d'autres termes je veux que :

1, a = blablabla
1, b = blablabla
2, a = blablabla
2, b = blablabla

Le but :
Cibler tous les noms de formulaire possibles, tous les querys possibles sur une page, pour leur donner la valeur blablabla.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#9

Message par sylvanie »

je dirai tout simplement une double boucle for imbriquée balayant les valeurs possibles des 2 variables.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#10

Message par lianavan »

C'est possible d'avoir un exemple ? Je n'arrive pas à me situer...
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#11

Message par sylvanie »

Et bien qq chose comme celà :
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#12

Message par SrBelial »

Si au premier abord votre demande parait franchement absurde, elle n'est en fait pas si idiote que ça ...
en fait elle est très franchement déconcertante car justement elle se heurte à une limitation toute bête qu'on rencontre je pense dans la quasi totalité des langages de programmations actuelle (d'ou l'impression que c'est complètement irrationnel alors qu'en fait non)

cette limite est la suivante :

lorsque l'on exécute UN appel de fonction, on ne peut utiliser qu'UNE valeur possible pour chaque paramètre de cette fonction.

En conséquence il est donc nécessaire dans votre cas d'appeler vos fonctions autant de fois que vous avez de combinaisons de paramètres différents.

Comme l'ont dit mes camarades juste avant, la structure adaptée pour réaliser une telle chose est représentée par ce que l'on nomme une boucle ....

exemple : je veux appeller une fonction F(x,y) avec tous les couples possibles tels que x fait partie de l'ensemble {1,2,3,4} et y fait partie de l'ensemble {11, 12, 13, 14}

alors il me faut faire deux boucles imbriquées, la première qui permettra de prendre tous les x possibles en compte, et la seconde, à l'intérieur de la première, qui pour chaque x possible me permettra de prendre tous les y en compte ....

=> en code :

Code : Tout sélectionner

For $x = 1 to 4 Step 1
    For $y = 11 to 14 Step 1
        F($x, $y)
    Next
Next

Func F($x, $y)
    MsgBox(0, "", "les valeurs choisies sont : " & $x & " | " & $y, 1)
EndFunc
 
Bien entendu, dans votre cas il faudra adapter pour que la boucle parcoure non pas un ensemble d'entiers, mais un ensemble de chaines ...
Je vous laisse étudier les différentes syntaxes de "For ... Next" qui vous permettront de réaliser ceci.

Bon courage !

Si votre demande est satisfaite, pensez à l'indiquer en plaçant la balise [R]
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#13

Message par lianavan »

Je vous remercie pour toutes ces informations, cela fait vraiment plaisir !

Si cela ne vous dérange pas, je vais laisser le [..], le temps de comprendre votre code et de voir si cela correspond avec ce que je désire faire.

Edit : j'ai compris le code, je continue.

Edit : j'ai besoin de remplacer

Code : Tout sélectionner

For $x = 1 to 4 Step 1
Par des valeurs fixes et déterminées comme $x = huhu OR $x = haha
Est-ce possible ?

Si ce n'est pas possible, alors cela ne peut pas fonctionner. J'ai besoin que $x et $y puisse être = à des valeurs très différentes telles que "jnujui" ou "gyugy"
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#14

Message par sylvanie »

et bien ceci est illustré dans mon bout de code avec le tableau contenant "a" et "b". construisez un tableau dim $tab[2]=["toto","titi"] . ainsi $tab[0] renvoie toto et $tab[1] renvoie titi . et donc on fait varier les indices du tableau
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#15

Message par lianavan »

Ah vraiment ! C'est super merci.

La première doc que j'ai lu sur les boucles ne tenait pas compte des For, et la seconde c'était sur votre forum, mais elle n'expliquait pas ce que vous venez de me dire. Cela doit sûrement être une question de syntaxe alors, mais pourquoi n'y a t'il pas de lien avec une doc sur la syntaxe :?.

Edit : je précise que là je suis fatigué, je testerais le plus tôt possible et j'éditerais le titre en conséquence...
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#16

Message par sylvanie »

Je suis d'accord que les échanges sur le forum sont souvent plus faciles à comprendre que de rester devant le fichier d'aide ,mais les expemples fournis dans ce fichier d'aide semble être suffisant ? Si vous les reprenez maintenant (celui du for .. in et celui du for .. to) vous retrouverez ce qui a été dit.

cf ma signature :mrgreen: (sous réserve d'utiliser Scite for Autoit ;) )
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] $variable = une valeur OU une autre

#17

Message par lianavan »

Je n'ai pas encore tout à fait la logique du langage en tête, et les fichiers d'aide ne m'apprennent pas à l'avoir.
Répondre