Page 1 sur 1

[R] Transférer des variables de gui en gui

Posté : ven. 17 déc. 2010 23:35
par mystere
Bonjour je débute dans les guis sur Autoit et en ce moment je bloque sur un texte que je récupère dans la gui n°1 grâce à controlgettext. J’aimerai transférer le résultat de la variable lorsque l’utilisateur cliquera sur valider dans la gui n°1. Cette variable ce transféra dans la listbox de la gui n°2. Mais ces a ce niveau la que je bloque.

Image
Voici la partie de mon code qui traite ce que j’aimerais faire.

Code : Tout sélectionner

case $code_valider
$nom2=controlgettext("Illegible","","[classnn:Edit1]")
Je ne sais pas comment faire pour transférer ceci.

PS : Ci vous connaissez un meilleur moyen pour récupérer le texte d’un contrôle dans une gui autre que controlgettext. Je suis preneur car il suffi que un petit malin change le titre de ma fenêtre pour que sa ne fonctionne plus. :wink:

Re: [..] Transférer des variables de gui en gui

Posté : sam. 18 déc. 2010 10:55
par jl56
Bonjour mystere

Ce n'est pas facile de réagir sans le code mais je vais essayer de vous donner une piste

Dans la gui 1 le champ où se trouve le mot test doit être un input control
Exemple

Code : Tout sélectionner

$input_nom = GUICtrlCreateInput("", 10, 5, 300, 20)
 
Ensuite sur l'action du bouton valider vous lisez cette input control par

Code : Tout sélectionner

$nom2=GUICtrlRead($input_nom)
Cela devrai fonctionner

rechercher dans l'aide et sur ce forum des exemples

A+ JL56

Re: [..] Transférer des variables de gui en gui

Posté : sam. 18 déc. 2010 14:05
par zeshrek

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

; Formulaire 1
$MainForm = GUICreate("Form1", 425, 228, 192, 124)
$MFButton1 = GUICtrlCreateButton("Ajouter", 32, 24, 75, 25, $WS_GROUP)
$MFList1 = GUICtrlCreateList("", 144, 40, 121, 136)
$MFButton2 = GUICtrlCreateButton("Valider", 304, 152, 75, 25, $WS_GROUP)
; Formulaire 2
$SubForm = GUICreate("Form1", 292, 136, 192, 124)
$SFInput1 = GUICtrlCreateInput("", 128, 24, 121, 21)
$SFLabel1 = GUICtrlCreateLabel("Variable a transferer", 16, 24, 98, 17)
$SFButton1 = GUICtrlCreateButton("Valider", 80, 80, 75, 25, $WS_GROUP)

; On affiche le MainForm
GUISetState(@SW_SHOW,$MainForm)
; Et on attend
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $MFButton2
            Exit
        Case $MFButton1 ; ajouter
            GUISetState(@SW_HIDE,$MainForm) ; on désactive le premier formulaire
            GUISetState(@SW_SHOW,$SubForm) ; et on (ré)active le second
            GUICtrlSetData($SFInput1,@HOUR&":"&@MIN&":"&@SEC)
        Case $SFButton1
            GUISetState(@SW_HIDE,$SubForm) ; on désactive le second formulaire
            GUISetState(@SW_SHOW,$MainForm) ; et on (re)active le premier
            GUICtrlSetData($MFList1, GUICtrlRead($SFInput1)) ; Et on met le contenu de l'input dans la liste
    EndSwitch
WEnd
Sinon, éssaye de coriger les fautes de tes GUI, ca pique les yeux....

Re: [..] Transférer des variables de gui en gui

Posté : sam. 18 déc. 2010 23:48
par mystere
Merci de vos réponses, sa fonctionne. Le problème est résolut. :)