Aide et conseils concernant AutoIt et ses outils.
nico
Niveau 1
Messages : 3 Enregistré le : mar. 08 janv. 2008 11:36
Status :
Hors ligne
#1
Message
par nico » mer. 09 janv. 2008 20:14
Bonjour,
Je voulais savoir si c'était possible de faire un script dans ce genre:
Code : Tout sélectionner
$liste = a;b;c;d;e.... une variable qui a plusieurs valeurs.
if $couleurdupixel = une des valeurs de $liste alors....
En gros faire un test sur plusieurs valeurs d'une même variable.
Si oui pouvez-vous m'écrire la syntaxe s'il-vous-plaît?
merci.
Modifié en dernier par
nico le mar. 15 janv. 2008 18:03, modifié 1 fois.
Voodoo
Niveau 6
Messages : 298 Enregistré le : ven. 20 juil. 2007 20:45
Status :
Hors ligne
#2
Message
par Voodoo » mer. 09 janv. 2008 20:30
Oui c'est possible. Je pense que la solution la plus fonctionnelle est de passer par un tableau.
ensuite on creer le tableau avec
stingsplit()
enfin pour chercher une valeur on peut utiliser:
qui retournera -1 si "a" n'est pas dans la $liste
Ne pas oublier l'include pour le
_arraysearch()
nico
Niveau 1
Messages : 3 Enregistré le : mar. 08 janv. 2008 11:36
Status :
Hors ligne
#3
Message
par nico » mer. 09 janv. 2008 20:42
Et je peut chercher parmis toutes les valeurs du tableau? Par exemple me faire renvoyer true si la valeur est dans le tableau.
EXEMPLE:
( le tableau $liste comporte comme valeurs trois couleurs au formas exadecimal (6) (ex: FFFFFF, FFFF00 et FF561B;) je fais un pixelgetcolor et il me renvoi une couleur; je souhaite tester si la couleur est dans le tableau $liste)
Merci
Voodoo
Niveau 6
Messages : 298 Enregistré le : ven. 20 juil. 2007 20:45
Status :
Hors ligne
#4
Message
par Voodoo » mer. 09 janv. 2008 20:51
oui, le _arraysearch() permet de balayer tous les indices d'un tableau. S'il trouve il renverra l'indice ou cela a été trouvé sinon -1 .
nico
Niveau 1
Messages : 3 Enregistré le : mar. 08 janv. 2008 11:36
Status :
Hors ligne
#5
Message
par nico » mar. 15 janv. 2008 18:01
Bonjour,
Je souhaiterais faire quelque chose comme ca avec les listes
Code : Tout sélectionner
$liste= a|b|c|d|e
$tab_liste=stringsplit($liste,"|")
(ou a,b,c,d et e sont des couleurs)
et effectuer une recherche
pixelsearch(0,0,0,0, rechercher parmis touts les couleurs de $liste,0)
Est-ce possible? Merci
Nicolas
codename44
Niveau 4
Messages : 65 Enregistré le : sam. 22 déc. 2007 15:46
Status :
Hors ligne
#6
Message
par codename44 » mar. 15 janv. 2008 19:04
salut
utilise une boucle qui parcourt les différentes lignes du tableau, par exemple :
Code : Tout sélectionner
for $i = 0 to 4 step 1
pixelsearch(0,0,x,y,$tab_liste[$i])
If NOT(@error = 1) Then
ExitLoop
EndIf
next
;la couleur a été trouvée aux coordonnées : Array[0], Array[1] (x,y)
;la couleur trouvée est tab_liste[$i]
Tlem
Site Admin
Messages : 11791 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#7
Message
par Tlem » mer. 16 janv. 2008 01:13
Il me semble, que Voodoo à répondu à votre question, en vous conseillant l'utilisation de la fonction _arraysearch() !
La réponse ne vous convient pas ?