[R] Vérification correspondance avec une liste

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nico
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 08 janv. 2008 11:36
Status : Hors ligne

[R] Vérification correspondance avec une liste

#1

Message 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.
Modifié en dernier par nico le mar. 15 janv. 2008 18:03, modifié 1 fois.
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [..] Verification correspondance avec une liste

#2

Message 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>
nico
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 08 janv. 2008 11:36
Status : Hors ligne

Re: [..] Verification correspondance avec une liste

#3

Message 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
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [..] Verification correspondance avec une liste

#4

Message 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 .
nico
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 08 janv. 2008 11:36
Status : Hors ligne

Verification correspondance avec une liste

#5

Message 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
codename44
Niveau 4
Niveau 4
Messages : 65
Enregistré le : sam. 22 déc. 2007 15:46
Status : Hors ligne

Re: Verification correspondance avec une liste

#6

Message 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]
 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Verification correspondance avec une liste

#7

Message 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 ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre