Page 1 sur 1
[..] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 13:17
par marsujp
Bonjour,
J'ai fais un script sur un PC, mais j'aimerais qu'il tourne sur d'autres PC.
J'ai donc pris en compte le changement de coordonnées sur le modele suivant :
Code : Tout sélectionner
$x=(940/1280)*@DesktopWidth
$y=(220/1024)*@DesktopHeight
MouseClick('Left',$x,$y, 1)
Or, en testant sur mon 2eme PC, ca ne fonctionne pas, x est trop élevé.
Voici les resolutions de mes PC :
PC1 (dev) : 1280*1024
PC2 (test) : 1680*1050
Pour info, le script lance IE.
Le probleme viendrait plus d'IA ?
Je ne vois pas trop...
Merci !

Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 14:14
par Tlem
Votre calcul semble des plus étrange ...
Car pour votre PC N°1 avec la résolution 1024*768, le calcul $x=(940/1280)*@DesktopWidth nous donne obligatoirement 940.
MAis pour une résolution différente, la base reste 1280, donc cela ne peut fonctionner ...
Il serait bien de donner plus d'explication sur l'élément sur lequel vous devez cliquer, ou tout simplement voir s'il n'est pas possible de le faire autrement en décomposant le code source de la page (plusieurs sujets parle de ceci).
Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 15:40
par Iste
Tlem a écrit :
Car pour votre PC N°1 avec la résolution 1024*768, le calcul $x=(940/1280)*@DesktopWidth nous donne obligatoirement 940.
MAis pour une résolution différente, la base reste 1280, donc cela ne peut fonctionner ...
Hum, je ne comprend pas bien pourquoi, chez moi ce code fonctionne tres bien :/
( 940/1280 = 0.734375 ; *@DesktopWidth (1440 chez moi) = 1057.5 )
il s'agit juste d'un simple rapport appliqué a la résolution de l'ordi.
Pour moi le probleme viendrait d'ailleurs dans le script
Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 16:02
par Tlem
La question n'est pas là ...
Il est évident que si
@DesktopWidth est différent de 1024, alors le résultat sera différent de ce que j'ai dit.
Je faisait juste remarqué que marsujp dit :
PC1 (dev) : 1280*1024 (Celui sur lequel il à probablement créé le script)
Donc si j'applique ses calculs, le résultat donne $x= 920 et $y = 1024 (qui doit probablement être les coordonnées du point à cliquer). Le problème est que dans son calcul, il utilise une résolution de base (1280X1024) :
Code : Tout sélectionner
$x=(940/[color=#FF0000][b]1280[/b][/color])*@DesktopWidth
$y=(220/[color=#FF0000][b]1024[/b][/color])*@DesktopHeight
Donc forcément avec une autre résolution ça ne peut fonctionner.
Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 20:29
par ani
hello,
le calcul ne serait-il pas plutôt ?
Résolution_Client divisé par la
résolution_Prédéfini multiplié par la
coordonné
$PointX =
(@DeskTopWidth/
1280)*
$X
$PointY = (
@DeskTopHeigth/
1024)*
$Y
Code : Tout sélectionner
Dim $PointX = 940, $PointY= 220
Dim $ResolutionClientX = @DeskTopWidth , $ResolutionClientY = @DesktopHeight
Dim $MyResolutionX = 1280, $MyResolutionY = 1024
$CoefX = int(($ResolutionClientX/$MyResolutionX)*$PointX)
$CoefY = int(($ResolutionClientY/$MyResolutionY)*$PointY)
MsgBox(0,"Point_X_Y","CoefX = " & $CoefX & @LF & "CoefY = " & $CoefY)
;MouseClick('Left',$CoefX,$CoefY, 1)
Exemple résolution client 1024(x) sur 768(y)
=>renvoie le pointx(940)

752(x) et le pointy(220)

165(y)
Si pas, donne plus d'info sur la page IE

Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 20:31
par marsujp
Je pensais justement qu'en prenant pour base mon PC "dev" (1280*1024), et en ayant les coordonnées des points à cliquer de ce PC, je pouvais calculer les coordonnées de ces points sur un autre PC suivant la resolution de ce dernier.
Mais dans ce cas comment faire pour faire fonctionner sur différents PC un script qui utilise des coordonnées dans son code ?
Impossible ?

Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 20:32
par marsujp
Merci ani, je viens de voir qu'on a ecrit en meme temps, je regarde ca demain...

Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 20:36
par Iste
Ben, faut nous dire ce que tu cherche a faire
Et on te dira comment faire ^^
Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 20:40
par ani
Normalement en utilisant le coefficiant il est tout à fait possible de tomber sur le même point même si la résolution client est différente.
C'est juste une histoire de calcul métrique ^^' ou qi'l est le x
Si pas faut passer par la frame d'ie qui est differente !!
Exemple:

Résolution_Client(1280/1024) Résolution Ecran

Résolution_IEFrame(1032/748) avec barre d'outils
ps: vous avez la possibilité d'éditer vos messages

Re: [...] Probleme resolution d'un PC à l'autre
Posté : sam. 16 mai 2009 22:08
par Tlem
Finalement, il semble que l'idée de base était la bonne

:
http://www.autoitscript.com/forum/index ... t&p=235435
Une autre solution serait d'utiliser des coordonnées basées sur le pourcentage :
http://www.autoitscript.com/forum/index ... opic=94546
Re: [...] Probleme resolution d'un PC à l'autre
Posté : dim. 17 mai 2009 17:27
par marsujp
Thx pour les réponses...
Bon, finalement, ma base etait pas si mauvaise.
Mais le site que j'utilise est "centré", et donc les coordonnées ramenées à la résolution du PC ne fonctionnent pas toujours.
Je vous met le lien :
http://www.racingpost.com/
Il va falloir que j'utilise autre chose...
Comme ne pas prendre pour base le point (0,0) mais plutot le point en haut a gauche du "cadre" du site (en blanc), histoire que ca convienne à tout le monde.
Bref, je vais regarder ça...
Re: [...] Probleme resolution d'un PC à l'autre
Posté : dim. 17 mai 2009 18:53
par genaille08
Re: [...] Probleme resolution d'un PC à l'autre
Posté : dim. 17 mai 2009 18:59
par Tlem
On ne sait toujours pas sur quel bouton vous devez cliquer ...