Page 1 sur 1
[R] Vérification GUICtrlCreateInput GUICtrlRead
Posté : ven. 02 oct. 2009 18:06
par oxley
Bonjour,
Je cherche à savoir si mon inputbox est vide ou pas pour cela:
Code : Tout sélectionner
While 1
sourisinfo()
Sleep ( 10 )
If _IsPressed("23") Then
$pos = MouseGetPos()
$input_login_x=GUICtrlCreateInput($pos[0],175,1,30,15,$WS_DISABLED)
$input_login_y=GUICtrlCreateInput($pos[1],220,1,30,15,$WS_DISABLED)
$recup_login_x = GUICtrlRead($input_login_x)
$recup_login_y = GUICtrlRead($input_login_y)
ToolTip("")
ExitLoop
EndIf
WEnd
Code : Tout sélectionner
if ($recup_login_x="" Or $recup_login_y="") then
MsgBox(1,"erreur","Il faut compléter toutes les coordonnées")
Else
blababla
EndIf
Donc le probléme c'est que j'ai toujours "Il faut compléter toutes les coordonnées"
Alors que tous les champs sont renseignés...
Une idée surement?
Merci
Re: [..]Vérification GUICtrlCreateInput GUICtrlRead
Posté : ven. 02 oct. 2009 19:01
par Tlem
Pourquoi ne lisez vous pas vos contrôles au moment du test ?
Pourquoi demander de compléter les coordonnées alors que vos contrôle sont désactivés ?
Re: [..]Vérification GUICtrlCreateInput GUICtrlRead
Posté : ven. 02 oct. 2009 19:07
par oxley
ils sont remplis tout seul par rapport à une fonction qui calcule les coordonnées de la souris.
En faite a coté de mes inputs j'ai un bouton calculer position.
Une fois appuyer si on appui sur une touche "A' par exemple les coordonnées sont ajouter dans les inputs.
Mais je veux m'assurer que tous les inputs sont bien remplis pour le bon fonctionnement du programme.
Mais mon test ne fonctionne pas
Pourquoi ne lisez vous pas vos contrôles au moment du test ?
Comment?
Merci
Re: [..]Vérification GUICtrlCreateInput GUICtrlRead
Posté : ven. 02 oct. 2009 20:22
par Tlem
Ben tout simplement, au lieu de faire :
faites
Code : Tout sélectionner
if GUICtrlRead($input_login_x)="" Or GUICtrlRead($input_login_y)="" Then
Re: [..]Vérification GUICtrlCreateInput GUICtrlRead
Posté : sam. 03 oct. 2009 10:27
par oxley
J'ai essayé comme tu as dis mais le résultat est le même je comprends pas pourquoi le test est pourtant bon.
Re: [..]Vérification GUICtrlCreateInput GUICtrlRead
Posté : sam. 03 oct. 2009 12:04
par Tlem
Je ne comprend vraiment pas votre problème. Regardez le script ci-dessous et adaptez à votre situation :
► Afficher le texteRelevé de Coordonnées
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
; Création de la GUI et de ses éléments :
$GUI = GUICreate("Form1", 230, 139, 192, 124)
$input_login_x = GUICtrlCreateInput("", 8, 8, 41, 21, $WS_DISABLED)
$input_login_y = GUICtrlCreateInput("", 64, 8, 41, 21, $WS_DISABLED)
$Position = GUICtrlCreateButton("Relever position", 120, 8, 92, 22, $BS_FLAT)
$Ok = GUICtrlCreateButton("Ok", 136, 104, 76, 22, $BS_FLAT)
GUISetState(@SW_SHOW)
; Fin de création de la GUI
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Position
$dll = DllOpen("user32.dll") ; Ceci fait partie de l'utilisation de _IsPressed
While 1 ; Boucle infinie
$pos = MouseGetPos() ; On récupère les coordonnées du curseur
ToolTip("Cliquez un point", $pos[0]+10, $pos[1]+10) ; On affiche le message sous le curseur
If _IsPressed("01") Then ; On surveille si appuis sur le clic gauche
GUICtrlSetData($input_login_x, $pos[0]) ; On affecte la coordonnée X du curseur à l'input X
GUICtrlSetData($input_login_y, $pos[1]) ; On affecte la coordonnée Y du curseur à l'input X
DllClose($dll) ; Ceci fait partie de l'utilisation de _IsPressed
ToolTip("") ; Ceci efface le tooltip
ExitLoop ; Puisque les coordonnées ont été attribuées, on sort de la boucle infinie
EndIf ; Fin di If
Sleep(10) ; Ptite pause de 10ms
WEnd
Case $Ok
If (GUICtrlRead($input_login_x) = "" Or GUICtrlRead($input_login_y) = "") Then ; Lecture et contrôle des inputs
MsgBox(1, "erreur", "Il faut compléter toutes les coordonnées.") ; Message d'erreur
Else ; sinon
; Message des coordonnées
MsgBox(64, "", 'Les coordonnées sont : X=' & GUICtrlRead($input_login_x) & " Y=" & GUICtrlRead($input_login_y))
EndIf
EndSwitch
WEnd
Re: [..] Vérification GUICtrlCreateInput GUICtrlRead
Posté : sam. 03 oct. 2009 12:13
par oxley
oki merci
Le soucis est que j'avais pas initialisé les variables avant '-_- , enfin pas la bonne $recup_login au lieux de input_login
Merci de ton aide