Page 1 sur 1

[R] $variable = une valeur OU une autre

Posté : jeu. 16 sept. 2010 11:13
par lianavan
Re bonjour,

Est il possible de faire en sorte que :

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

Re merci.

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

Posté : jeu. 16 sept. 2010 11:22
par lianavan

Code : Tout sélectionner

$oQuery2 = _IEFormElementGetObjByName ($oForm, "1" OR "2" OR "3" OR "4")
Peut être ?

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

Posté : jeu. 16 sept. 2010 11:51
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")

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

Posté : jeu. 16 sept. 2010 18:23
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.

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

Posté : jeu. 16 sept. 2010 18:50
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.

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

Posté : jeu. 16 sept. 2010 18:55
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

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

Posté : jeu. 16 sept. 2010 19:02
par Iste
Haaa attendez, j'ai peut etre compris, regardez du coté de BitOR() ou BitAnd()

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

Posté : jeu. 16 sept. 2010 19:39
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.

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

Posté : jeu. 16 sept. 2010 22:13
par sylvanie
je dirai tout simplement une double boucle for imbriquée balayant les valeurs possibles des 2 variables.

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

Posté : ven. 17 sept. 2010 10:40
par lianavan
C'est possible d'avoir un exemple ? Je n'arrive pas à me situer...

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

Posté : ven. 17 sept. 2010 15:10
par sylvanie
Et bien qq chose comme celà :
► Afficher le texte

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

Posté : ven. 17 sept. 2010 15:29
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]

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

Posté : ven. 17 sept. 2010 16:40
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"

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

Posté : ven. 17 sept. 2010 19:13
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

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

Posté : ven. 17 sept. 2010 20:49
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...

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

Posté : ven. 17 sept. 2010 21:05
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 ;) )

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

Posté : sam. 18 sept. 2010 11:23
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.