[R] Faire un "_IEGetObjByValue" ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

[R] Faire un "_IEGetObjByValue" ?

#1

Message par foozoor »

Y a-t-il un moyen de faire un "_IEGetObjByValue" ?
Car j'aimerais enregistrer un input dont l'id et le name sont communs avec plusieurs autres inputs. :?
En gros le seul truc qui différentie ces 2 inputs est leur value. :?

Ou alors comment enregistrer le "deuxième" input ayant l'id x ou le name x ?

Merci d'avance.
Modifié en dernier par foozoor le ven. 24 août 2012 16:24, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Faire un "_IEGetObjByValue" ?

#2

Message par mikell »

Pour les 2 questions, _IETagNameGetCollection
Exemple

Code : Tout sélectionner

$oInputs = _IETagNameGetCollection ($oIE, "input")
For $oInput In $oInputs
    If $oInput.value == "zevalue" Then MsgBox(0, "", $oInput.innertext)
Next
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [..] Faire un "_IEGetObjByValue" ?

#3

Message par foozoor »

Merci, j'ai encore un peu de mal avec les boucles, mais ça marche !
Pourquoi avec un seul "=", j'ai deux fois la MsgBox ?
Quelle est la différence entre "=" et "==" ?
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Faire un "_IEGetObjByValue" ?

#4

Message par blacksoul305 »

Il me semble que "==" respect la casse. J'te redirige vers une explication, il suffit de descendre et trouver la réponse de TommyDDR !
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Faire un "_IEGetObjByValue" ?

#5

Message par mikell »

La différence est loin d'être évidente...
Le "==" est réservé à la comparaison de strings (valeurs non numériques) et est plus précis, apparemment
La 1ère fois que j'ai fait ce genre de code, j'avais mis un "=" et j'arrivais pas à comprendre ce qui ne voulait pas marcher :twisted:
M'a fallu un bon moment pour trouver ^^

Edit : L'explication de TommyDDR (dans le lien donné par blacksoul) donne bien la réponse, mais c'est pas très satisfaisant, en effet d'après son explication, ce test devrait retourner "true"

Code : Tout sélectionner

msgbox(0, "", ("abc"="cde"))
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [R] Faire un "_IEGetObjByValue" ?

#6

Message par foozoor »

Si j'ai bien compris :
Le signe "=" sert à assigner une valeur à des variables par exemple.
Le signe "==" sert pour les comparaisons (If/Else) ou des boucles par exemple.

Je crois avoir compris que 0 = True et que 1 = False, c'est toujours sympa de le savoir :mrgreen:.
Mais pourquoi certaines fonctions retournent "0" et d'autres "True" ? :shock:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Faire un "_IEGetObjByValue" ?

#7

Message par mikell »

Heu c'est plus compliqué :mrgreen:
Le signe "=" sert à assigner une valeur à une variable ou à comparer des valeurs numériques (en principe...)
Le signe "==" est à utiliser pour comparer des strings exclusivement

Sinon on utilise souvent les valeurs de manière impropre... on pourrait considérer que tout ce qui est <>0 est "true" , d'autre part c'est plus simple d'utiliser les valeurs booléennes pour "vrai" et faux" ^^
Amuse-toi avec ça :mrgreen:

Code : Tout sélectionner

$var = 2
msgbox(0, "", "$var = false" &@crlf&@crlf& ($var=false) )
msgbox(0, "", "$var <> 0" &@crlf&@crlf& ($var<>0) )
If $var = true Then msgbox(0, "", "$var = true" &@crlf&@crlf& "exact !" )
Mais tu remarqueras que "If $var = true Then" est différent de "If $var = 1 Then" :wink:
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [R] Faire un "_IEGetObjByValue" ?

#8

Message par foozoor »

Merci pour les précisions. :wink:
Sacré casse tête quand même.
Ce genre d'incertitude dans un gros programme doit être horrible. :shock:

Sinon j'ai aussi vu le "===" ! :mrgreen:
Répondre