Page 1 sur 1

[R] Vérification correspondance avec une liste

Posté : mer. 09 janv. 2008 20:14
par nico
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.

Re: [..] Verification correspondance avec une liste

Posté : mer. 09 janv. 2008 20:30
par Voodoo
Oui c'est possible. Je pense que la solution la plus fonctionnelle est de passer par un tableau.

Code : Tout sélectionner

$liste= a|b|c|d|e
ensuite on creer le tableau avec stingsplit()

Code : Tout sélectionner

$tab_liste=stringsplit($liste,"|")
enfin pour chercher une valeur on peut utiliser:

Code : Tout sélectionner

 _arraysearch($tab_liste,"a",0,0,0,TRUE)
qui retournera -1 si "a" n'est pas dans la $liste

Ne pas oublier l'include pour le _arraysearch()

Code : Tout sélectionner

#include <array.au3>

Re: [..] Verification correspondance avec une liste

Posté : mer. 09 janv. 2008 20:42
par nico
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

Re: [..] Verification correspondance avec une liste

Posté : mer. 09 janv. 2008 20:51
par Voodoo
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 .

Verification correspondance avec une liste

Posté : mar. 15 janv. 2008 18:01
par nico
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

Re: Verification correspondance avec une liste

Posté : mar. 15 janv. 2008 19:04
par codename44
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]
 

Re: Verification correspondance avec une liste

Posté : mer. 16 janv. 2008 01:13
par Tlem
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 ?