Page 1 sur 1

[R] Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:11
par Wardow
Bonjour j'ai un petit problème avec mes boutons radio :

je n'arrive pas a savoir quelle radio a été sélectionner

je vous donne une partie de mon code pour que vous comprenez

Code : Tout sélectionner

Case $EncryptButton
            ; quand on clique sur chiffrer

            If   $radio1 And BitAND(GUICtrlRead($radio1), $GUI_CHECKED) = $GUI_CHECKED Then ; On crypte un fichier
                                If $SourceFile = '' Then
                                        MsgBox(0,"Crypteur",'Veuillez selectionner un fichier')
                                ElseIf _Crypt_EncryptFile($SourceFile,$SourceFile&".crypt",GuiCtrlRead($InputPass),$CALG_RC2) Then
                                        MsgBox(0,"Crypteur",'OK ! , Votre fichier a été crypté')
                                    EndIf
                                Else ; On crypte le texte
                                    $CryptData = _Crypt_EncryptData(GuiCtrlRead($EditText), $InputPass, $CALG_RC2)
                                    GUICtrlSetData($EditText,BinaryToString($CryptData))
                        EndIf
Merci d'avance pour votre réponse

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:16
par PandiPanda
Vous n'avez pas correctement lu l'aide donné par GUICtrlCreateRadio(), plus exactement l'exemple donné.
► Afficher le texte

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:32
par Wardow
Merci mais j'ai un autre problème :

voici le code

Code : Tout sélectionner

#Include <Crypt.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <String.au3>

Global $SourceFile = ''

#Region ### START Koda GUI section ### Form=c:\users\william.pc-de-jmi-et-pa\desktop\autoit3\scite\koda\forms\chiffreur.kxf
Global $GUI = GUICreate("Chiffreur", 820, 506, 189, 132)
GUISetBkColor(0x0066CC)
Global $EditText = GUICtrlCreateEdit("", 56, 144, 729, 217)
GUICtrlSetBkColor(-1, 0xFFFFE1)
GUICtrlSetCursor (-1, 5)
Global $EncryptButton = GUICtrlCreateButton("Chiffrer", 520, 48, 105, 41, $WS_GROUP)
GUICtrlSetCursor (-1, 0)
Global $DecryptButton = GUICtrlCreateButton("Déchiffrer", 664, 48, 105, 41, $WS_GROUP)
GUICtrlSetCursor (-1, 0)
Global $InputPass = GUICtrlCreateInput("", 280, 56, 145, 21, BitOR($ES_CENTER,$ES_PASSWORD,$ES_AUTOHSCROLL))
GUICtrlSetCursor (-1, 5)
Global $Group1 = GUICtrlCreateGroup("Mot de passe", 256, 16, 193, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group2 = GUICtrlCreateGroup("Mode", 496, 16, 297, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Radio2 = GUICtrlCreateRadio("Texte", 112, 48, 65, 17)
GUICtrlSetCursor (-1, 0)
GUICtrlSetState(-1, $GUI_CHECKED)
Global $Radio1 = GUICtrlCreateRadio("Fichier", 112, 72, 65, 17)
GUICtrlSetCursor (-1, 0)
Global $Group3 = GUICtrlCreateGroup("Que vouez vous crypter ?", 64, 16, 153, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Button1 = GUICtrlCreateButton("Parcourir", 104, 408, 105, 41, $WS_GROUP)
GUICtrlSetCursor (-1, 0)
Global $Label1 = GUICtrlCreateLabel("Chemin du fichier : ", 232, 408, 114, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###




$msg = GUIGetMsg()
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
            ; si on clique sur la croix rouge sa ferme la fenetre
        Case $Radio1 ; Si on crypte un fichier

                        GUICtrlSetState($EditText,$GUI_DISABLE)
                        GUICtrlSetState($Button1,$GUI_ENABLE)
        Case $Radio2 ; Si on crypte un texte

                        GUICtrlSetState($EditText,$GUI_ENABLE)
                        GUICtrlSetState($Button1,$GUI_DISABLE)
        Case $Button1 ; On choisit un fichier pour le crypter.
                        $SourceFile = FileOpenDialog("Crypteur",@DesktopDir&'\',"Tous (*.*)",9)
                        GUICtrlSetData($Label1,"Chemin du fichier : " & $SourceFile)
        Case $EncryptButton
            ; quand on clique sur chiffrer

            If   $msg = $radio1 And BitAND(GUICtrlRead($radio1), $GUI_CHECKED) = $GUI_CHECKED Then ; On crypte un fichier
                                If $SourceFile = '' Then
                                        MsgBox(0,"Crypteur",'Veuillez selectionner un fichier')
                                ElseIf _Crypt_EncryptFile($SourceFile,$SourceFile&".crypt",GuiCtrlRead($InputPass),$CALG_RC2) Then
                                        MsgBox(0,"Crypteur",'OK ! , Votre fichier a été crypté')
                                    EndIf
                                Else ; On crypte le texte
                                    $CryptData = _Crypt_EncryptData(GuiCtrlRead($EditText), $InputPass, $CALG_RC2)
                                    GUICtrlSetData($EditText,BinaryToString($CryptData))
            EndIf

             Case $DecryptButton ; Si on clique sur le boutton Encrypter

                        If $msg = $radio1 And BitAND(GUICtrlRead($radio1), $GUI_CHECKED) = $GUI_CHECKED  Then ; On crypte un fichier
                                If $SourceFile = '' Then
                                        MsgBox(0,"Crypteur",'Veuillez selectionner un fichier')
                                ElseIf StringRight($SourceFile,6) <> '.crypt' Then
                                        MsgBox(0,"Crypteur",'Veuillez selectionner un fichier crypté.')
                                ElseIf _Crypt_DecryptFile($SourceFile,StringLeft($SourceFile,StringLen($SourceFile)-6),GuiCtrlRead($InputPass),$CALG_RC2) Then
                                        ;StringLeft($SourceFile,StringLen($SourceFile)-6) Va supprimer le .crypt a la fin de notre nom de fichier. On supprime les 6 derniers caractères.
                                        MsgBox(0,"Crypteur",'OK ! , Votre fichier a été décrypté')
                                Else
                                        MsgBox(0,"Crypteur","OK ! , Votre fichier n'a pas pu être decrypté.")
                                EndIf
                        Else ; On crypte le texte
                                $CryptData = _Crypt_DecryptData(GuiCtrlRead($EditText),GuiCtrlRead($InputPass),$CALG_RC2)
                                GUICtrlSetData($EditText,BinaryToString($CryptData))
                        EndIf
     EndSwitch
WEnd
quand je sélectionne la radio fichier je choisis mon fichier je met un mot de passe et je clique sur chiffrer mais sa ne modifie pas le fichier sa modifie ce qu'il y a dans la grande case d’édit

pouvez vous m'aider svp ?

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:47
par ZOTHOP
A tout hasard voici comment j'ai procédé pour une GUI avec deux radios.

Code : Tout sélectionner

$choixradio=0
While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $radio1 
                $choixradio=1 ; quand on clique sur le radio1 
            Case $msg = $radio2 
                $choixradio=2 ; quand on clique sur le radio2
        EndSelect
    WEnd
 
Après dans un bouton j'ai placé mon code dans des if, exemple :

Code : Tout sélectionner

if $choixradio=1 then
 ; mon code ici
endif

Code : Tout sélectionner

if $choixradio=2 then
; mon code ici
endif
Pour éviter un plantage dans le cas qu'aucun radios ne seraient sélectionnés

Code : Tout sélectionner

if $choixradio<1 or $choixradio>2 then
MsgBox(4096,"","Veuillez sélectionner un radio SVP")
endif

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:49
par PandiPanda
Le problème étant que vous faites la verification pour le même bouton "radio";
► Afficher le texte

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 19:58
par Wardow
Oui je fais pour les 2 mêmes radios car il y a 2 boutons un pour crypter et un autre pour décrypter
donc quand on clique sur le bouton pour crypter et si la radio fichier(radio 1) est cocher on crypte un fichier sinon on crypte le texte qui es dans la case edit
et c'est le même pour le bouton pour décrypter

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 20:05
par PandiPanda
et ceci ?
► Afficher le texte

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 20:09
par Wardow
Non plus car quand on clique sur le bouton crypter rien ne se passe que la radio 1 ou la 2 soit cochée

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 20:19
par PandiPanda
Personnellement avec ce bout de code ci, ca me crypte/décrypte bien mon fichier ...
► Afficher le texte

Re: [..]Comment savoir quel Radio à été sélectioné

Posté : lun. 01 août 2011 20:24
par Wardow
j'arive bien a crypter mais le drcriptage des textes ne fonctione pas sa me met yyyy pour les fichiers je n'ais pas encore essayer

Re: [..] Comment savoir quel Radio à été sélectioné

Posté : mar. 02 août 2011 12:22
par mikell
Argh la petite kouye de syntaxe qui fait tant de mal... :mrgreen:
► Afficher le texte

Re: [..] Comment savoir quel Radio à été sélectioné

Posté : mar. 02 août 2011 19:49
par Wardow
Merci sa fonctionne