Page 1 sur 1

Interpréter un changement dans un texte

Posté : 18 août 2021, 08:38
par Wadoumbe
Bonjour,

je ne connais pas encore très bien toutes les fonctionnalités et les limites de SM, et j'ai une idée sur laquelle je bute a cause d'une limite supposée.

Mon besoin est simple, j'aimerais que SM détecte en boucle un éventuel changement dans un nombre (pas un changement précis, juste une modification quelle qu'elle soit) pour ensuite exécuter le reste de la macro seulement si le changement est détecté.

Le nombre que je veut surveiller est un nombre fixe, disons 500, cette valeur est constante sauf parfois ou elle peut baisser d'un nombre variable. Je souhaite donc pouvoir faire tourner en boucle une macro qui s'activerais uniquement si l'état stable du nombre 500 était perturbé, de quelque valeur que ce soit.

Avec les bases très succinctes de mes connaissances sur SM j'ai tenté de résoudre le problème de cette manière :

Code : Tout sélectionner

Label	<Label1>
Variable	<X>;0;Numerique;
Variable	<Y>;0;Numerique;
Trouve image	C:\Program Files (x86)\Super macro\image2.bmp;0;0;1920;1080;426;988;452;1000;<X>;<Y>;1
Examine	<X>;<;-1;
Pause	00:00:15
Move Mouse	488;992;Direct;ImgRef0;
Goto	<Label1>
Dans cet exemple l'image correspond au texte 499, donc s'il y avais un changement et que le texte passait à 499 l'action move mouse serais appliqué, autrement la boucle continue.

Il y a de nombreux problème dans ma façon de voir le problème actuellement. Je pense que je n'ai pas la bonne méthode non plus car même le petit bout de macro que j'ai fais n'a pas fonctionné comme je le pensais. C'est pourquoi je viens quérir l'aide des esprits plus éveillées que le mien.

Merci d'avance pour vos réponses.

Re: Interpréter un changement dans un texte

Posté : 18 août 2021, 11:51
par yves remors
salut,
si tu changes ton examine:
Examine <x>;<>;-1;
par:
Examine <x>;<>;500;
ou:
Examine <x>;=;500;

Re: Interpréter un changement dans un texte

Posté : 18 août 2021, 12:30
par plvh935
Bonjour,
Si j'ai bien compris, ta macro va chercher, via "trouve image", dans une zone de ton écran, la correspondance avec image2.bmp. Si c'est la même image (donc le même nombre) tu boucles après une pause de 15 secondes, sinon tu déplaces ta souris.
Dans tout cela tu cherche une image et non un nombre. Dès que le nombre change l'image n'est plus la même et donc ta macro ne la trouve pas. Donc X (comme Y) est égal à -1. Vérifie ton "Examine".
Ce serait plus simple si le nombre à contrôler était dans une zone fixe et de type "caractère" (chiffres 5,0,0, pour 500) plutôt que l'image de 500. Dis-nous en plus, si tu veux de l'aide.
Bon courage.

Re: Interpréter un changement dans un texte

Posté : 18 août 2021, 22:14
par Wadoumbe
Merci pour vos réponses.

Yves remors : Je ne vois pas ou tu veut en venir. Moi j'ai mis -1 dans mon examine pour qu'il ne fasse rien si la valeur reste la même (en l'occurrence 500) et qu'il continue à boucler, jusqu'à ce que l'image 499 soit détectée.

Mais je voit bien que cette solution ne fonctionne pas avec mon problème puisque je ne sais pas de combien vas changer ma valeur. Donc il faudrait que je fasse une condition pour chaque possibilité (498; 497; 496 etc ...). Ma solution actuelle n'est donc pas viable je pense.

Si j'ai mal compris ce que tu voulais dire je m'en excuse.

plvh935 : Tu as bien compris l'idée basique que je m'était faite au départ.

Dans la situation le chiffre de base est 500 et la recherche programmé dans trouve image est 499. Comme dit plus haut je pense que ma solution actuelle ne convient pas du tout.
Ce serait plus simple si le nombre à contrôler était dans une zone fixe et de type "caractère" (chiffres 5,0,0, pour 500) plutôt que l'image de 500.
Justement, c'était le but principal de ce post mais je voulais expliquer mon problème depuis le départ pour être sûr d'en apprendre un maximum. Donc il y a bien une possibilité de contrôler des caractère plutôt qu'une image ?

Et, le cas échéant, est-il possible de contrôler un changement quelque qu'il soit et non uniquement un passage d'une valeurs précise à une autre.

Re: Interpréter un changement dans un texte

Posté : 26 août 2021, 11:46
par yves remors
Wadoumbe a écrit :
18 août 2021, 22:14
Moi j'ai mis -1 dans mon examine pour qu'il ne fasse rien si la valeur reste la même (en l'occurrence 500) et qu'il continue à boucler, jusqu'à ce que l'image 499 soit détectée.
peut-être comme ça:
au lancement de la macro, tu place la valeur de X dans une variable X1 en dehors de la boucle, et ensuite dans la boucle tu compares X et X1.

Re: Interpréter un changement dans un texte

Posté : 30 août 2021, 10:25
par Onissius
Ta source, c'est du texte, ou une image ?
Si c'est du texte, tu récupère ce texte et tu le compare à 500 avec un examine pour lancer tel ou tel bout de code.
PS : Je suis vivant sur Discord, c'est quant même plus rapide que de devoir communiquer en tapant du texte.