Probleme avec un switch

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Probleme avec un switch

#1

Message par YuChan »

Bonjour,

Je rencontre un soucis avec la fonction switch

Code : Tout sélectionner

Global $val = 'test1'

	Switch $val
		
		Case "test1"
			MsgBox(0, "", "trest1")
	
		Case Else
			MsgBox(0, "", "valeur de $val ne correspond pas")

	EndSwitch

Code : Tout sélectionner

Global $val = 'test10'

	Switch $val
		
		Case "test1"
			MsgBox(0, "", "test1")
	
		Case Else
			MsgBox(0, "", "valeur de $val ne correspond pas")

	EndSwitch
Pour le switch avec $val = "test10" la popup ne s'affiche pas disant que la valeur est non correspondante.

Du coup ma question est comment mettre une valeur par défaut si aucun Case ne correspond ?

CDT
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2255
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Probleme avec un switch

#2

Message par jchd »

Dans le Case Else
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un switch

#3

Message par YuChan »

merci mais sa coince.

Comment transformé ceci en switch svp

Code : Tout sélectionner

	$r1 = _ImageSearch($pic1, 1, 100)
	If IsArray($r1) Then
		$pic = "picture 1"
		Return $pic
	EndIf


	$r20 = _ImageSearch($pic2, 1, 100)
	If IsArray($r20) Then
		$pic = "picture 2"
		Return $pic
	EndIf
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2255
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Probleme avec un switch

#4

Message par jchd »

Ni avec un Switch, ni avec un Select.

Comme ça peut-être :

Code : Tout sélectionner

	$pic = "no picture found"
	$r1 = _ImageSearch($pic1, 1, 100)
	If IsArray($r1) Then
		$pic = "picture 1"
	Else
		$r1 = _ImageSearch($pic2, 1, 100)
		If IsArray($r1) Then
			$pic = "picture 2"
		EndIf
	EndIf
	Return $pic
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6217
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Probleme avec un switch

#5

Message par mikell »

Ou alors peut-être avec une combi array - boucle For

$pic = "no picture found"

Local $pics = [$pic1, $pic2]
For $i = 0 to UBound($pics) - 1
   $tmp = _ImageSearch($pics[$i], 1, 100)
   If IsArray($tmp) Then
      $pic = "picture " & $i
      Exitloop
   EndIf
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 )
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un switch

#6

Message par YuChan »

Merci.

Donc pour que je comprenne bien comment faire avec 3 image différentes maintenant ?
Ausssi j'ai un soucis, comment tezter si la valeur et null et affecter une valeur a $pic

Code : Tout sélectionner

	$r1 = _ImageSearch($pic1, 1, 100)
	If IsArray($r1) Then
		$pic = "picture 1"
		Return $pic
	EndIf


	$r20 = _ImageSearch($pic2, 1, 100)
	If IsArray($r20) Then
		$pic = "picture 2"
		Return $pic
	EndIf
	
	$r40 = _ImageSearch($pic3, 1, 100)
	If IsArray($40) Then
		$pic = "picture 3"
		Return $pic
	EndIf
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11719
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Probleme avec un switch

#7

Message par Tlem »

Bonsoir.
Puisque vous utilisez la fonction Return, c'est que vous regroupez cette liste de tests dans une fonction ...
Il vous suffit donc de rajouter une ligne à la suite de vos tests. Puisque aucun test aura été positif c'est que votre valeur est nulle. ;)
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é".
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un switch

#8

Message par YuChan »

Je suis desolé, merci pour la reponse mais quelle ligne je dois ajouter ?
Je comprends pas bien

Et aussi, sa prends genre 5 a 7 secondes pour trouver une image.
Est ce normal ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11719
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Probleme avec un switch

#9

Message par Tlem »

Bonjour.

Code : Tout sélectionner

$pic = "ma valeur"
Et concernant le temps de recherche, celui-ci est lié à la taille de l'espace de recherche. Plus elle est grande, plus il lui faut du temps. ^^

Si vous avez une résolution de 4K il mettra plus de temps à rechercher que sur du Full HD ou HD. 😉
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é".
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un switch

#10

Message par YuChan »

Merci.

Je comprends pas j'ai fait Else If et sa prends 7sec voir plus.

Mes images font 2 ou 3 octets.

Ce qui est encore plus etrange c'est que les autre marchent a la perfection alors que ya plus de code.
Répondre