[R] Aide GuiCtrlCreateInput

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

[R] Aide GuiCtrlCreateInput

#1

Message par milka »

Bonjour, je suis nouveau mais je ne trouve pas comment utiliser :
- GUICtrlRead : J'ai décidé d'essayer de créer un programme de vérification de mot de passe qui est comme suivant

Code : Tout sélectionner

$PasswordEdit = GUICtrlCreateInput("", 8, 24, 153, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
[...]
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $ButtonCancel
            Exit
        Case $ButtonOk
            If GUICtrlRead($PasswordEdit, "Password") Then
                MsgBox(0,"", "bravo")
            Else
                MsgBox(0,"", "Mauvais mot de passe")
            EndIf
    EndSwitch
WEnd
Mais le mot de passe est toujours accepté !

- GUICtrlCreateInput : Je n'arrive pas changer la valeur d'une variable.
J'ai fait comme ceci :

Code : Tout sélectionner

Dim $var1 = 10, $var2 = 25, $var3 = 0
[...]
$Nombre1 = GUICtrlCreateInput($var1, 288, 32, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) 
GUICtrlSetLimit(-1, 3)
$Nombre2 = GUICtrlCreateInput($var2, 288, 56, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) 
GUICtrlSetLimit(-1, 3)
$Resultat = GUICtrlCreateInput($var3, 208, 104, 105, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL)) 
GUICtrlSetState(-1, $GUI_DISABLE) 
GUICtrlCreateGroup("", -99, -99, 1, 1) 
$Nombre1 = GUICtrlRead($var1)
$Nombre2 = GUICtrlRead($var2)
$Resultat = GUICtrlRead($var3)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Calculer
            $var3 = $var2 * $var1;Ici, var3 ne prend pas la valeur 250
        Case $Reinitialiser
            $var1 = 0
            $var2 = 0
            $var3 = 0;Ici, aucune valeur ne change 
    EndSwitch
WEnd
Si je clique sur le bouton calculer, rien ne se passe et de même pour le bouton réinitialiser.

Pouvez-vous m'aider s'il vous plait ?
En vous remerciant d'avance du fond du coeur, milka.
Modifié en dernier par milka le dim. 04 avr. 2010 14:08, modifié 2 fois.
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: Aide

#2

Message par Narmeke »

Veuillez lire les règles de présentation d'un message !

Cordialement Narmeke

Edit 1 :

Code : Tout sélectionner

Case $ButtonOk
     If GUICtrlRead($PasswordEdit, "Password") Then
          MsgBox(0,"", "bravo")
     Else
          MsgBox(0,"", "Mauvais mot de passe")
     EndIf
 
Ce code ne veut rien dire !!
En claire vous avez écrit cela :
► Afficher le texte
Correction :
► Afficher le texte
P.S : Je vous conseil fortement de vous aidez avec l'aide de Scite ainsi que de lire la Documentation AutoIt !!
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: Aide

#3

Message par milka »

Désolé pour la présentation.
Par contre, je viens juste de réussir le morceau de code avec GuiCtrlRead. Il marche parfaitement, mais il me reste juste l'autre problème.
Merci quand même de ton aide ! :D
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#4

Message par Tlem »

Utilisez la commande GUICtrlSetData () pour changer le contenu de vos contrôles $Nombre1, $Nombre2 et $Resultat.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#5

Message par milka »

Je te remercie !
Je vais voir comment on s'en sert & si j'ai un problème, je reviendrais, mais je ne pense pas ;)
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#6

Message par Narmeke »

De rien pour l'aide :lol:
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#7

Message par milka »

En fait, je ne pensais pas du tout à ça mais... je ne trouve pas comment utiliser GuiCtrlSetData.
J'ai lu sur plusieurs sites & forums qu'il marchait ainsi :

Code : Tout sélectionner

GuiCtrlSetData($MaVariable, "NouvelleValeur", "")
Pouvez-vous me corriger SVP ?

Merci d'avance.
milka
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#8

Message par Narmeke »

Très bien, étant donné que je n'ai rien à faire voici un petit Exemple d'utilisation de "Guictrlsetdata()"

Code : Tout sélectionner

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

;=========
;== GUI ==
GUICreate("Simple Exemple                         <Coded by Narmeke>", 467, 84, 287, 133)
$INPUT_RESULT = GUICtrlCreateInput("Neutre", 136, 24, 193, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY)) ;Ici on affichera le résultat !!
$BUTTON_P = GUICtrlCreateButton("+", 16, 8, 97, 65, $WS_GROUP) ;Plus
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
$BUTTON_M = GUICtrlCreateButton("-", 355, 8, 97, 65, $WS_GROUP) ;Moins
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
$BUTTON_N = GUICtrlCreateButton("=", 192, 56, 81, 17, $WS_GROUP) ;Neutre
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
;== GUI ==
;=========

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $BUTTON_P ;Boutton +
            GUICtrlSetData($INPUT_RESULT, "Positif") ;Actualisation du Texte de l'input
        Case $BUTTON_M ;Boutton -
            GUICtrlSetData($INPUT_RESULT, "Négatif") ;Actualisation du Texte de l'input
        Case $BUTTON_N ;Boutton =
            GUICtrlSetData($INPUT_RESULT, "Neutre") ;Actualisation du Texte de l'input
    EndSwitch
WEnd
 
Cordialement Narmeke
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#9

Message par milka »

Je suis désolé, mais ça ne marche toujours pas =/
Pourtant, nos codes sont disposés de la même manière.
Voila la partie qui pose problème :

Code : Tout sélectionner

Dim $var1=0,$var2=0,$var3=0
$Nombre1 = GUICtrlCreateInput($var1, 288, 32, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) 
GUICtrlSetLimit(-1, 3)
$Nombre2 = GUICtrlCreateInput($var2, 288, 56, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) 
GUICtrlSetLimit(-1, 3)
$Resultat = GUICtrlCreateInput($var3, 208, 104, 105, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL)) 
GUICtrlSetState(-1, $GUI_DISABLE) 
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Calculer
            GUICtrlSetData($var3, $var2 * $var1)
        Case $Reinitialiser
            GUICtrlSetData($var1, "0")
            GUICtrlSetData($var2, "0")
            GUICtrlSetData($var3, "0")
        Case $Aide
            MsgBox(0, "Aide", "L'aide n'est pas encore disponible")
        Case $Quitter
            Exit
    EndSwitch
WEnd
Je suis désolé de te faire perdre du temps et de t'embêter.
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#10

Message par Narmeke »

Voilà, cela devrait fonctionné !

Code : Tout sélectionner

Dim $var1, $var2, $var3

$Nombre1 = GUICtrlCreateInput("0", 288, 32, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
GUICtrlSetLimit(-1, 3)
$Nombre2 = GUICtrlCreateInput("0", 288, 56, 33, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
GUICtrlSetLimit(-1, 3)
$Resultat = GUICtrlCreateInput("0", 208, 104, 105, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Calculer
            $Valeur1 = GUICtrlRead($Nombre1) ;Lecture de l'input
            $Valeur2 = GUICtrlRead($Nombre2) ;Idem pour la lecture
            $Valeur3 = $Valeur1 * $Valeur2 ;On calcul
            GUICtrlSetData($Resultat, $Valeur3) ;Puis on actualise
        Case $Reinitialiser
            GUICtrlSetData($Nombre1, "0")
            GUICtrlSetData($Nombre2, "0")
            GUICtrlSetData($Resultat, "0")
        Case $Aide
            MsgBox(0, "Aide", "L'aide n'est pas encore disponible")
        Case $Quitter
            Exit
    EndSwitch
WEnd
 
Pour faire plus court, tu peux remplacé sa :

Code : Tout sélectionner

            $Valeur1 = GUICtrlRead($Nombre1) ;Lecture de l'input
            $Valeur2 = GUICtrlRead($Nombre2) ;Idem pour la lecture
            $Valeur3 = $Valeur1 * $Valeur2 ;On calcul
            GUICtrlSetData($Resultat, $Valeur3) ;Puis on actualise
 
Par cela :

Code : Tout sélectionner

GUICtrlSetData($Resultat, GUICtrlRead($Nombre1) * GUICtrlRead($Nombre2))
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Aide GuiCtrlCreateInput

#11

Message par milka »

Je te remercie de ton aide !
Mon programme marche a merveille a part un petit problème que j'essaie de corriger !
:D :D :D
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [R] Aide GuiCtrlCreateInput

#12

Message par Narmeke »

Encore une fois De rien :mrgreen:
Et bonne continuation pour résoudre ton problème :wink:
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Valeur d'un combo ?

#13

Message par milka »

Re :p
J'aurai besoin d'une toute dernière aide.
Dans mon code, il y a ceci :

Code : Tout sélectionner

$Lettre = GUICtrlCreateCombo("", 240, 8, 81, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) 
GUICtrlSetData(-1, " |a|b|c")
Et je souhaiterai faire un if avec ce combo mais je ne sais pas comment m'y prendre !
J'ai pensé à :

Code : Tout sélectionner

If($Lettre = "a") Then
et
If(GUICtrlRead($Lettre) = "a") Then
 
Mais aucun n'est la bonne solution =/

Merci d'avance
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [R] Aide GuiCtrlCreateInput

#14

Message par Narmeke »

Pourquoi faire si compliqué avec les if ?

Code : Tout sélectionner

$VALEUR_DE_LA_COMBO = Guictrlread($combo1)
ElseIf $VALEUR_DE_LA_COMBO = "a" Then
     Msgbox(0, "Resultat", "La combo vaut a")
ElseIf $VALEUR_DE_LA_COMBO = "b" Then
     Msgbox(0, "Resultat", "La combo vaut b")
ElseIf $VALEUR_DE_LA_COMBO = "a" Then
     Msgbox(0, "Resultat", "La combo vaut c")
EndId
 
Je vous pris de lire la DOCUMENTATION, car vraiment il y a de l'abus ! :twisted:
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [R] Aide GuiCtrlCreateInput

#15

Message par milka »

Peut-être que tu me prendra pour un c*n mais... quand j'essaie ce code, il marche bien jusqu'à ce qu'au bout de 2/3 changements, la Message Box qui s'ouvre mette toujours la même lettre.
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [R] Aide GuiCtrlCreateInput

#16

Message par Narmeke »

Tous d'abord, j'ai fais une erreur minime dans le code précédent :

Code : Tout sélectionner

$VALEUR_DE_LA_COMBO = Guictrlread($combo1)
ElseIf $VALEUR_DE_LA_COMBO = "a" Then
     Msgbox(0, "Resultat", "La combo vaut a")
ElseIf $VALEUR_DE_LA_COMBO = "b" Then
     Msgbox(0, "Resultat", "La combo vaut b")
ElseIf $VALEUR_DE_LA_COMBO = "[color=#FF0000]c[/color]" Then
     Msgbox(0, "Resultat", "La combo vaut c")
EndId
 
Et il n'y a pas de honte à être débutant, mais si vous aviez fais plus de recherches avec l'outil approprié vous auriez surement résolu votre problème depuis longtemps !!

Et si vous voulez que l'ont vous code complètement votre script, faites un Post dans "Demande de création de script" !

Sinon envoyé moi votre code complets par MP !

Cordialement Narmeke
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [R] Aide GuiCtrlCreateInput

#17

Message par milka »

Personnellement, je ne vois pas trop d'intérêt à avoir créé une catégorie de création entier de script car ça ne permet pas de progresser dans ce langage, à part si le créateur laisse des commentaires partout.
Je vais te faire part de mon code par MP.
Répondre