[R] Boutons et Radio non fonctionnels pourquoi ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

[R] Boutons et Radio non fonctionnels pourquoi ?

#1

Message par ric025 »

Bonjour.

J'ai créé une interface via KODA. Une fois intégrée à mon script, elle ne "fonctionne" pas ... Ce qui se traduit par une inactivité des boutons, ainsi que des "radio".

Mon interface :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 442, 223, 117)
$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\darty\Bureau\alien.jpg", 0, 0, 617, 441)
$Button1 = GUICtrlCreateButton("Infos", 8, 320, 97, 81)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
$Button2 = GUICtrlCreateButton("Listing", 120, 320, 185, 33)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
$Button3 = GUICtrlCreateButton("Ajout", 120, 368, 185, 33)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
$Button4 = GUICtrlCreateButton("Suppression", 312, 320, 185, 33)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
$Button5 = GUICtrlCreateButton("Desinstallation", 312, 368, 185, 33)
GUICtrlSetFont(-1, 12, 400, 0, "El&Font Bubble")
$Button6 = GUICtrlCreateButton("Quitter", 512, 320, 97, 81)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
$Radio1 = GUICtrlCreateRadio("Windows 32 bits", 8, 40, 177, 25)
GUICtrlSetFont(-1, 12, 400, 0, "El&Font Bubble")
$Radio2 = GUICtrlCreateRadio("Windows 64 bits", 432, 40, 177, 25)
GUICtrlSetFont(-1, 12, 400, 0, "El&Font Bubble")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
            
;Première Option : recherche (listing)         
            
      Case $Button2 
          
$file = FileOpen("RIC-Run.txt", 1)
Lorsque je le lance, je ne peux pas cocher les radio, je ne peux pas utiliser les boutons ... Ici lorsque je clique sur le bouton, qui doit lancer le "Listing", rien ne se passe, le bouton ne bouge même pas. Les deux radio ne peuvent pas être cochées ...

Merci pour l'aide apportée.
Eric.
Modifié en dernier par ric025 le ven. 01 avr. 2011 16:22, modifié 2 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: GUI ne fonctionne pas, pourquoi ?

#2

Message par ZDS »

Hello !

En premier lieu, je te conseille de modifier ton titre (syntaxe avec [..] en tête, et le titre pas très explicite).
Ensuite, le code que tu mets à disposition est incomplet, peux tu le mettre à jour?

A bientôt !

EDIT: Je parle de la fin du code :

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
           
;Première Option : recherche (listing)        
           
      Case $Button2
         
$file = FileOpen("RIC-Run.txt", 1)
Je suis à peu près sûr qu'il manque au moins un EndSwitch et un Wend avant la fin du script ^^
Car c'est ce qu'il peut y avoir dans ce bloc de code Switch qui à mon avis t'empêche de traiter correctement tes radios.
Modifié en dernier par ZDS le jeu. 31 mars 2011 15:42, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#3

Message par ric025 »

Merci j'ai édité.

Pour le code, qu'est-ce qui n'est pas complet ? Je clique sur le bouton1, soit "Listing", cela devrait me créer un rapport.

Mais là n'est pas le sujet, si je crée une nouvelle interface où je ne mets qu'un bouton, il fonctionne, si je crée la même avec une radio, je peux la cocher ... Même à ce stade du code. Pourquoi ici non ?

Merci.
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#4

Message par legend »

Les boutons fonctionnent pas parce que t'a oublié un petit truc ^^
c'est ici :

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
            
;Première Option : recherche (listing)         
            
      Case $Button2
version correcte :

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $nMsg = $GUI_EVENT_CLOSE ; ICI
          exit
 Case $nMsg = $Button2 ; ICI
          
$file = FileOpen("RIC-Run.txt", 1)
Sinon la déclaration de la gui/boutons est correcte . . .
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#5

Message par zeshrek »

@Legend tu confonds le case de Switch et celui de Select. Là tu es en train de l'embrouiller

pour ce qui manque ca devrait etre qqchose du genre (en rouge):

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
[color=#FF0000]      Case $Button1
; commande lancée par l'appui du bouton 1[/color]
;Première Option : recherche (listing)        
      Case $Button2         
$file = FileOpen("RIC-Run.txt", 1)
[color=#FF0000]      Case $Button3
; commande lancée par l'appui du bouton 3
    EndSwitch
Wend[/color]
Quand on pose une question sur un code qui marche pas, merci de le donner en entier !
Si vis pacem para bellum
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#6

Message par ZDS »

Je n'aime pas trop le code que génère Koda, mais on va faire avec ^^

Pour le lancement de l'action :
Tu me parles de ton $Button1 (Infos), or dans le traitement des messages (la boucle et le Switch/Case), je ne vois que la prise en charge de $GUI_EVENT_CLOSE (qui donc ferme correctement ton script quand tu cliques sur la croix), et de $Button2 (Listing). Je suppose donc que la suite du code est importante (ce que tu as sous "$file = FileOpen("RIC-Run.txt", 1)").
Remplace ta boucle While/Wend par la suivante :

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
        Exit
    Case $Button1
        MsgBox(0,"Test","Bouton 1 (Infos) cliqué")
    Case $Button2
        MsgBox(0,"Test","Bouton 2 (Listing) cliqué")
    EndSwitch
WEnd
Pour le cochage des radios :
Chez moi (Windows XP 32bits Professionnel, AutoIt 3.3.6.1, au cas où), tes boutons "Windows 32/64 bits" se cochent très bien l'un puis l'autre et vice versaaaaaaa (^^).
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#7

Message par ric025 »

Re.

Merci à tous. Dans l'ordre ! :P
Tu me parles de ton $Button1 (Infos), or dans le traitement des messages (la boucle et le Switch/Case), je ne vois que la prise en charge de $GUI_EVENT_CLOSE (qui donc ferme correctement ton script quand tu cliques sur la croix), et de $Button2 (Listing). Je suppose donc que la suite du code est importante (ce que tu as sous "$file = FileOpen("RIC-Run.txt", 1)").
Je ne parlais pas du bouton1. :) Je parlais de tous les boutons ! Dans ce début de code, effectivement, c'est le bouton 2 qui est d'abord utilisé. Mais dans un cas comme dans l'autre, le soucis restait le même.
Quand on pose une question sur un code qui marche pas, merci de le donner en entier !
:D A part les fins de boucle (EndSwitch et WEnd) qui n'ont pas été copiées, par étourderie, c'est tout ce que j'ai fait pour l'instant ^^ J'ai évidemment l'idée du code mais j'ai démarré par KODA, voyant que ça ne fonctionnait pas, j'ai pas été plus loin dans l'écriture, je ne pouvais pas tester ...

Merci à tous, je vais réparer ça (tenter) et je vous tiens au courant. ;)

EDIT :
Je suis à peu près sûr qu'il manque au moins un EndSwitch et un Wend avant la fin du script ^^
Car c'est ce qu'il peut y avoir dans ce bloc de code Switch qui à mon avis t'empêche de traiter correctement tes radios.
Moi je ne pense pas puisque lorsque je lance par double-clic mon programme, je n'ai pas le message d'erreur comme quoi il manque quelque chose.

Je vais écrire le reste de mon code, et si cela ne fonctionne pas, je reviendrai avec l'intégralité, je pense que ce sera plus parlant. Disons pour l'instant que seuls les boutons2, 3 et 4 ainsi que les radios sont utilisés. Pour info :

* Avec le choix de windows 32 bits, je veux :

- Si j'appuie sur le bouton2 (listing), lancer une action.
- pareil pour les boutons 3 et 4.

* Avec le choix de windows 64 bits, même chose (mais sous 64bits).

* Si aucun choix entre les deux versions de windows n'est coché, le programme ne démarre pas.

Je vous envoie ça ;)
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#8

Message par ric025 »

Re-Bonsoir à tous :)

Alors, si on attend que je code tout, on est là pour un bout de temps ^^

Prenons donc l'option un seul bouton. Et je veux juste ouvrir un fichier texte présent sur mon bureau :) Ce sera plus simple. Je peux donc donner le code entier :P

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 442, 223, 117)
$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\darty\Bureau\alien.jpg", 0, 0, 617, 441)
$Button1 = GUICtrlCreateButton("Infos", 8, 320, 97, 81)
GUICtrlSetFont(-1, 14, 400, 0, "El&Font Bubble")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        
        Case $Button1

FileOpen("info.txt", 0)
 
     EndSwitch
   
WEnd
Je pense que tout est bon non ? Pourtant, cela ne fonctionne toujours pas ... Et tant que je ne peux pas tester, je ne peux pas avancer car c'est une détection de clés de registre que je veux :s

Merci.
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

Re: [...]Boutons et Radio infonctionnels pourquoi ?

#9

Message par ric025 »

Excusez pour les 3 messages à la suite ;)

J'ai trouvé :shock: Si je supprime cette ligne :

Code : Tout sélectionner

$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\darty\Bureau\alien.jpg", 0, 0, 617, 441)
Cela fonctionne ... :| Je ne comprends pas pourquoi, si quelqu'un a une idée ... Quoi qu'il en soit, je peux maintenant tester ! 8)

EDIT : Je vais peut-être dire une grosse bêtise, mais peut-être existe-t-il quelque chose pour faire en sorte que l'image ne soit qu'un fond ? Là, l'image semble rendre impossible les fonctions. C'est pour cette raison que chez vous, par simple copié-collé, mon code fonctionnait, puisque du coup, vous n'aviez pas l'image ! :D
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Boutons et Radio non fonctionnels pourquoi ?

#10

Message par Laddy »

Bonjour ric025,
bienvenue sur autoit forum ;)

Pour mettre ton image en arrière plan :

Code : Tout sélectionner

Global $Pic1 = GUICtrlCreatePic("C:\Documents and Settings\darty\Bureau\alien.jpg", 0, 0, 617, 441, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
ça rendra ton bouton accessible.

Sous Koda pour le faire à l'avenir, lorsque tu mets ton image, tu fais un clic droit et tu choisis Controle > mettre en arrière plan.

bises

Laddy
Modifié en dernier par Laddy le ven. 01 avr. 2011 14:51, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Boutons et Radio non fonctionnels pourquoi ?

#11

Message par ZDS »

Je n'avais pas pensé à l'image, exact (n'empêche que si tu dois reposter un code source, n'oublie pas quand même les fins de fichier ^^)

Ajoute le status DISABLE à ton image, pour qu'elle devienne un fond sans notify possible, et ça devrait aller :

Code : Tout sélectionner

$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\darty\Bureau\alien.jpg", 0, 0, 617, 441)
GUICtrlSetState($Pic1, $GUI_DISABLE)
J'espère que ça suffira pour ce dont tu as besoin.

EDIT: La façon de laddy reste possible, mais je ne pense pas que tu aies besoin de cliquer sur le fond pour quelque action que ce soit, donc autant le rendre complètement inactif ^^
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
ric025
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 10 janv. 2011 04:12
Status : Hors ligne

Re: [..] Boutons et Radio non fonctionnels pourquoi ?

#12

Message par ric025 »

Bonjour :)
(n'empêche que si tu dois reposter un code source, n'oublie pas quand même les fins de fichier ^^)
Bah j'avais zappé deux mots ^^ Mais je ferai plus gaffe le prochain coup.

Merci à toi Laddy ! :D Ravi de te voir ici.

Pour mon soucis, je voulais justement venir poster ici avant de voir la notification dans ma boîte mail, car hier soir, on m'a filé un coup de pouce et on m'a donné ta façon de faire, ZDS ;)

Donc merci à tous, c'est vraiment résolu cette fois :)

A bientôt.
Répondre