[R] Pb array non reconnu issu d'un GUICtrlCreateInput

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jerebou
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mer. 07 déc. 2011 13:11
Status : Hors ligne

[R] Pb array non reconnu issu d'un GUICtrlCreateInput

#1

Message par jerebou »

Bonjour a tous,

Alors voila pour les besoins d'un projet de site internet mes collegues doivent placer des images et definir l'angle de vue en fonction d'un focus qu'ils placeront sur une zone precise de l'image. Puisque je n'ai pas pu trouver un outil qui le propose, je me suis engage a fournir une solution qui permet de connaitre rapidement l'emplacement du focus par rapport aux limites de l'image. Initialement, on obtient ses coordonnees a l'aide d'un soft de mapping comme Xmap, qu'on indique ensuite via le script.
Par exemple, on cherche a savoir pour une image en 1600x1200, a quel emplacement se situe le point de focus ayant pour coordonnees (400,240).
La reponse etant 400/1600=25% pour la largeur, et 240/1200=20% pour la hauteur.

Mon script se presente donc sous la forme d'un formulaire dont un des champs permet de renseigner les coordonnees du focus.
Voila le bout de code concerne:
► Afficher le texte
En executant le script j'ai cette erreur:
"C:\Users\monuser\Dropbox\bbr\autoit\tooltest.au3" (35) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$deltax = 0.5*($coordinate[2] - $coordinate[0])
$deltax = 0.5*(^ ERROR

Je sais qu'une solution serait d'utiliser une inputbox et la aucun probleme, mais c'est tellement moche que je ne veux pas l'envisager.
Modifié en dernier par jerebou le jeu. 28 mai 2015 07:16, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Pb array non reconnu issu d'un GUICtrlCreateInput

#2

Message par mikell »

Dans le code tel que posté, l'input vide est lu immédiatement donc $coordinates = ""
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
jerebou
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mer. 07 déc. 2011 13:11
Status : Hors ligne

Re: [..] Pb array non reconnu issu d'un GUICtrlCreateInput

#3

Message par jerebou »

Merci
C'est ce que je decouvre progressivement mais comment faire pour faire que l'utilisateur puisse via 2 elements (pointer vers le fichier image, et indiquer les coordonnees du focus) alimenter le formulaire ?
J'ai bien conscience qu'il faut utiliser une boucle mais je m'y perds !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Pb array non reconnu issu d'un GUICtrlCreateInput

#4

Message par mikell »

Oh c'est pas compliqué
Dans ton cas je ferais 2 inputs (un où s'écrit l'adresse de l'image et un pour entrer les coordonnées) et un bouton "valider"
Dans la boucle While, à la pression du bouton ça lit le contenu des inputs puis effectue le traitement
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
jerebou
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mer. 07 déc. 2011 13:11
Status : Hors ligne

Re: [..] Pb array non reconnu issu d'un GUICtrlCreateInput

#5

Message par jerebou »

Eurêka

Merci mikell mais j'ai pu me dépatouiller en m'aidant partiellement de mes précédents scripts (Ah sacré Alzheimer...)

Alors voila la solution:
1. En première partie insérer toutes les parties fixes de l'interface graphique
2. Ensuite dans les actions a exécuter lorsque $msg=$boutonacliquer, placer un GUICtrlRead qui lira l'input saisi par l'utilisateur
3. Enfin insérer les éléments calculés devant s'afficher en conséquence du contenu des input

Je dois reconnaître que visuellement ya plus joli avant l'apparition des éléments graphiques de la dernière partie, mais au moins ça fonctionne.

En espérant que ça pourra aider d'autres semi débutants comme moi :) :) :)

PS: J'attends un quelconque reply dans les 48h avant de classer en résolu.
Répondre