[..] ComboBox récalcitrante
Posté : jeu. 04 sept. 2014 14:56
Bonjour à toutes et à tous
Je suis confronté à une combo quelques peu récalcitrante à alimenter, sur un progiciel (AI : ACTIV'Infinite). Je souhaite l'alimenter avec le contenue d'une variable. J'ai essayé différentes manières :
Celle ci ne fonctionne pas : c'est logique puisqu'on envoie les lettre 1 par 1. C'est donc la dernière lettre de $col[4] qui fait foi :
Le ControlGetText renvoie vide, il n'arrive pas à lire la donnée dans AI :
J'ai même essayé de copier après un ControlFocus (pour lire dans le presspapier jusqu'à ce qu'on ai la bonne valeur), mais le copier coller fonctionne pas pour la combo
Devrai fonctionner, mais non
:
Le seul code qui fonctionne :
Mais ce n'est pas satisfaisant dans la mesure ou l'ordre dans AI est amené à charger et des valeurs à s'ajouter. Il me faudrait une solution non exhaustive, pour prendre en compte automatiquement les modifications dans la source $col[4] (ne pas avoir à rajouter un Case par exemple)
Des pistes ? Je continue de chercher autour de ControlXXX (en particulier ControlCommand) de mon côté.
Merci pour toute l'aide que ce forum m'a déjà apporté, et merci aux futurs collaborateurs de ce topic
PS : dans AWI, je n'ai pas de Name, pas d'ID ou de Texte (même si la donnée est alimentée). Pour tous les éléments des IHM, j'ai un TWINDOW (que ce soit un label, un compo, un bouton ...)
Je suis confronté à une combo quelques peu récalcitrante à alimenter, sur un progiciel (AI : ACTIV'Infinite). Je souhaite l'alimenter avec le contenue d'une variable. J'ai essayé différentes manières :
Celle ci ne fonctionne pas : c'est logique puisqu'on envoie les lettre 1 par 1. C'est donc la dernière lettre de $col[4] qui fait foi :
Code : Tout sélectionner
ControlSend($fenetre_creation, "", "[CLASSNN:TWINDOW115]", $col[4]); Si on a AB et BA comme choix, que $col[4] = AB, on écrit BA ce qui n'est pas bon
Code : Tout sélectionner
; Code trouvé sur l'ancien forum AutoIt http://autoit-fr.realbb.net/t165-choisir-dans-une-liste-deroulante
While ControlGetText($fenetre_creation, "","[CLASSNN:TWINDOW115]") <> $col[4]
ControlSend ($fenetre_creation, "", "[CLASSNN:TWINDOW115]", "{DOWN}" )
WEnd
; Même chose avec un ControlCommand($fenetre_creation, "", "[CLASSNN:TWINDOW115]", "GetCurrentSelection")
ou un ControlCommand($fenetre_creation, "", "[CLASSNN:TWINDOW115]", "GetSelected")Devrai fonctionner, mais non
Code : Tout sélectionner
; Je cherche une solution de ce type, assez 'puissante' pour prendre directement en compte les différents changements possible en entrée (tant que la valeur existe dans le combo d'AI bien sur)
ControlCommand($fenetre_creation, "", "[CLASSNN:TWINDOW115]", "SelectString", $col[4])
Le seul code qui fonctionne :
Code : Tout sélectionner
ControlFocus($fenetre_creation, "", "[CLASSNN:TWINDOW115]")
Switch $col[4]
Case "CHEQUE"
Send("{DOWN 1}")
Case "COMPENS_TPTV"
Send("{DOWN 2}")
...
EndSwitch
Des pistes ? Je continue de chercher autour de ControlXXX (en particulier ControlCommand) de mon côté.
Merci pour toute l'aide que ce forum m'a déjà apporté, et merci aux futurs collaborateurs de ce topic
PS : dans AWI, je n'ai pas de Name, pas d'ID ou de Texte (même si la donnée est alimentée). Pour tous les éléments des IHM, j'ai un TWINDOW (que ce soit un label, un compo, un bouton ...)